AWS DocumentDB через прокси

#ssh-tunnel #mongodb-shell #aws-documentdb

#ssh-туннель #mongodb-оболочка #aws-documentdb

Вопрос:

У меня настроена AWS DocumentDB, к которой я могу легко подключиться через окно перехода, используя:

 mongo --ssl --host aws-host:27017 --sslCAFile rds-combined-ca-bundle.pem --username my_user --password <insertYourPassword>
  

Я хотел бы иметь возможность подключиться к нему через localhost для некоторого тестирования. Я не могу подключиться напрямую, поэтому я попытался открыть туннель с моего перехода:

 ssh -i ~/.ssh/my-key user@my_jump -L 27017:aws-host:27017 -N
  

После этого я попробовал базовую команду MongoDB connect:

 mongo --ssl --host localhost:27017 --sslCAFile rds-combined-ca-bundle.pem --username my_user --password <insertYourPassword>
  

Я получаю ошибку, которую я понимаю:

Сертификат сервера не соответствует имени хоста. Имя хоста: localhost не соответствует SAN (-ам)

Я попытался использовать export http_proxy для использования http://my_jump:27017 и снова использовать приведенную выше команду, но безуспешно.

Есть предложения или помощь по подключению?

Ответ №1:

Попробуйте отключить проверку имени хоста ssl:

 mongo --ssl --sslAllowInvalidHostnames ...
  

Примечание —sslAllowInvalidHostnames доступно с версии 3.0.

Если это не сработает, попробуйте --ssl полностью удалить из параметров подключения, как указано в документации:

Оболочка mongo проверяет, соответствует ли имя хоста (указанное в опции —host или строке подключения) SAN (или, если SAN отсутствует, CN) в сертификате, представленном mongod или mongos. Если присутствует SAN, mongo не соответствует CN. Если имя хоста не соответствует SAN (или CN), оболочке mongo не удастся подключиться.

Комментарии:

1. Да! Ключевым моментом здесь также является версия 3.0 . Мне пришлось обновить клиент, чтобы он действительно заработал.

2. Я могу подключиться на jump_server, но не могу подключиться со своего компьютера? Как подключиться извне?

3. Пожалуйста, имейте в виду, что официальная документация предупреждает избегать этого флага: docs.mongodb.com/manual/tutorial/configure-ssl-clients /…

4. Есть ли какой-либо способ, которым я могу подключиться к documentdb за прокси-сервером без sslAllowInvalidHostnames ? Даже документ aws говорит мне использовать его!