4

我有一个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 连接命令:

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和使用上面的命令,但没有成功。

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

4

1 回答 1

6

尝试禁用 ssl 主机名验证

mongo --ssl --sslAllowInvalidHostnames ...

注意--sslAllowInvalidHostnames3.0 版开始可用。

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

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

于 2019-03-19T11:25:02.573 回答