mongodb - 如果文件作为 URL 中的参数传递,mongo 客户端不会读取 CA 文件
问题描述
我正在尝试使用 AWS DocumentDB。
此命令工作正常:
mongo --tls --host my.cluster-random.ap-south-1.docdb.amazonaws.com:27017 --tlsCAFile rds-combined-ca-bundle.pem --username mongo --password 'supersecure'
此命令不会:
mongo 'mongodb://mongo@my.cluster-random.ap-south-1.docdb.amazonaws.com:27017/?tlsCAFile=rds-combined-ca-bundle.pem&tls=true'
我得到错误:
SSL peer certificate validation failed: unable to get local issuer certificate
我的印象是第二个案例文件没有被读取。如果我在第一个命令中输入了错误的文件名 - 我会收到 OpenSSL 错误:
Failed global initialization: InvalidSSLConfiguration cannot read certificate authority file:
在第二种情况下,它就像根本无关紧要。像“忽略”这样的 TLS 选项的任何组合也没有产生任何效果。
我有点失落。有什么建议吗?
解决方案
嗯......无论出于何种原因,它在 mongo shell 中不受支持。从文档:
https://docs.mongodb.com/manual/reference/connection-string/
tlsCAFile - 此连接字符串选项不适用于 mongo shell。请改用命令行选项。
推荐阅读
- mongodb - 无法从 mongodb 驱动程序中获取任何文档
- r - 通过 sjPlots tab_model 和 emmeans contrast 函数调整后来自同一 LMM 的不同调整 p 值?
- python-3.x - 在 Pandas 中对不同的组和多列应用不同的功能
- r - 从包含星期数、星期几的数据框中获取日期(yyyy-mm-dd)
- openlayers-3 - api3.geo.admin.ch v 3.6.0 OpenLayers 3 DragBox 在使用 firefox 时不显示在地图上(在 chrome 和 IE edge 上运行良好)
- android - 我想设置字段值以使用 Volley RequestQueue 但不起作用
- flutter - Flutter、NestedScrollView 和包裹体效果
- json - 合并从 Json 文档生成的两个 JSON Schemata
- python - 在 Micropython 中以文本分隔符格式保存文件
- php - 在实体中创建子对象而不需要额外的 SQL 表