Как я могу решить проблему для SSLHandshakeFailed в MongoDB? - PullRequest
0 голосов
/ 06 апреля 2020

Я очень новичок в MongoDB. Infact, я новичок в стеке MEAN. Я успешно установил сервер MongoDB на Ma c. После запуска следующей команды:

mongod

сервер запускается на порту 27017. Я пытаюсь получить доступ к серверу, введя локальный URL-адрес в окне chrome:

http://127.0.0.1:27017/

В окне терминала, где работает сервер, я получаю следующую ошибку:

SSLHandshakeFailed: SSL handshake received but server is started without SSL support.

Чтобы решить эту проблему, я погуглил ошибку и попробовал несколько следующих предложений из этой и этой ссылки:

openssl genrsa -des3 -out rootSSL.key 2048 Создает файл .key. Затем

openssl req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem Это создает файл .pem.

Я даже добавил файл .pem в System в Keychain Access.

В некоторых ссылках предлагалось создать файл server.cnf, в некоторых предлагалось создать сертификат домена.

Кто-то также предложил в вопросе о SO начать с Почтальона, но это тоже не работает.

Может кто-нибудь помочь мне разобраться в этой ошибке, так как все другие предложения были очень запутанными, и все они, казалось, бились вокруг бу sh.

1 Ответ

1 голос
/ 06 апреля 2020

Если вы получаете эту ошибку:

SSLHandshakeFailed: SSL handshake received but server is started without SSL support.

... вы, вероятно, обращаетесь к https://127.0.0.1:27017/, а не http://127.0.0.1:27017/. Проверьте правильность написания.

Кроме того, интерфейс HTTP не работает в последних версиях MongoDB. Документация гласит:

Изменено в версии 3.6: MongoDB 3.6 удаляет устаревший интерфейс HTTP и REST API для MongoDB.

Когда я пытаюсь это сделать на моем сервере MongoDB я получаю:

% curl http://localhost:27017
It looks like you are trying to access MongoDB over HTTP on the native driver port.

Таким образом, помимо проверки того, что сервер запущен, доступ к нему через веб-браузер бесполезен.

...