AWS DocumentDB通过代理

问题描述 投票:1回答:1

我有一个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并再次使用上面的命令,没有运气。

有关如何连接的任何建议或帮助?

ssh-tunnel mongodb-shell aws-documentdb
1个回答
3
投票

尝试disable ssl hostname validation

mongo --ssl --sslAllowInvalidHostnames ...

注意--sslAllowInvalidHostnames可从3.0版获得。

如果这不起作用,请尝试从连接选项中完全删除--ssl,如documentation所示:

mongo shell验证主机名(在--host选项或连接字符串中指定)是否与mongod或mongos提供的证书中的SAN(或者,如果SAN不存在,CN)匹配。如果存在SAN,则mongo与CN不匹配。如果主机名与SAN(或CN)不匹配,则mongo shell将无法连接。

© www.soinside.com 2019 - 2024. All rights reserved.