Проверка сертификата LetsEncrypt SSL не удалась с MongoDB - PullRequest
0 голосов
/ 12 июня 2018

Немного предыстории ... мой сертификат - это SSL-сертификат LetsEncrypt.org, выданный Certbot.Я использую Nginx 1.12.2 и могу правильно получить доступ к своему веб-сайту, используя https://, поэтому я считаю, что часть настроена правильно.Мой веб-сервер работает под управлением Ubuntu 16.04 и MongoDB 3.6.3.

Я перепробовал множество конфигураций, и хотя я могу нормально подключиться к MongoDB, используя Compass (официальный графический интерфейс MongoDB) без опции SSL, пытается подключитьсяс SSL в результате Не удалось подключиться к MongoDB на указанном хосте и сообщение об ошибке порта .Запуск mongo -ssl --sslPEMKeyFile /etc/ssl/mongo.pem на моем сервере приводит к следующей ошибке:

MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
2018-06-12T16:51:10.756+0000 E NETWORK  [thread1] SSL peer certificate validation failed: unable to get local issuer certificate
2018-06-12T16:51:10.757+0000 E QUERY    [thread1] Error: socket exception [CONNECT_ERROR] for SSL peer certificate validation failed: unable to get local issuer certificate :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

My / var / log / mongodb / mongod.log показывает следующее, что соответствует указанной выше ошибке:

2018-06-12T16:51:10.755+0000 I NETWORK  [listener] connection accepted from 127.0.0.1:47792 #8 (2 connections now open)
2018-06-12T16:51:10.757+0000 I NETWORK  [conn8] end connection 127.0.0.1:47792 (1 connection now open)

My / etc / mongod.conf содержит следующее (я закомментировал параметр CAFile, так как прочитал, что это пока необязательно [source: https://stackoverflow.com/a/33926129/2969615]; обратите внимание, что я получаю mongo.pem: OK при выполнении команды openssl verify -CAfile /etc/ca.pem /etc/mongo.pem, поэтому я считаю, что mongo.pem правильно настроен):

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  ssl:
    mode: allowSSL
    PEMKeyFile: /etc/ssl/mongo.pem
    # CAFile: /etc/ssl/ca.pem

Я создал свой файл mongo.pem с помощьюссылаясь на следующее: https://serverfault.com/a/878457 ... Я попробовал сертификат в инструкциях, а также оба промежуточных сертификата X3, доступных по https://letsencrypt.org/certificates/, но безрезультатно.

Любая помощь будетбыть очень ценится.

...