Я пытаюсь подключиться к серверу MongoDB из клиентского приложения. У меня включен протокол TLS, и я использую самоподписанный сертификат. Ниже приведены подробности:
OS: Windows Server 2016
MongoDB Version: 4.2.5
mongod.cfg (config file):
net:
tls:
mode: requireTLS
certificateSelector: subject=server1.com
allowInvalidCertificates: true
disabledProtocols: none
systemLog:
destination: file
path: F:\MongoDB\log\mongod.log
logAppend: true
storage:
dbPath: F:\MongoDB\data
net:
bindIp: localhost,server1.com
port: 27017
Я создал RootCA и создал server1.pfx (CN = server1.com). Затем экспортировал rootca.cer (без ключа) и server1.cer (без ключа) и установил их на сервере, на котором запущено клиентское приложение, в Trusted Root Authority (rootca.cer) и Personal (server1.cer) .
Я использую следующую строку подключения:
mongodb://user:*******************@server1.com:27017/CustomerDB?authSource=CustomerDB&tls=true&tlsAllowInvalidCertificates=true
Ошибка, которую я получаю:
Error receiving request from client: SSLHandshakeFailed: The server is configured to only allow SSL connections
Я добавил tls = true и включил TLS 1.1 и 1.2 на сервере, на котором запущено клиентское приложение. Я могу подключиться к MongoDB из другого приложения, запущенного на другом сервере с той же строкой подключения.