如何解决为什么我可以在不使用 pymongo 上的“rds-combined-ca-bundle.pem”的情况下连接 AWS-documentDB
AWS 如下所述。
##To encrypt data in transit,download the public key for Amazon DocumentDB named rds-combined-ca-bundle.pem
import pymongo
##Create a MongoDB client,open a connection to Amazon DocumentDB as a replica set and specify the read preference as secondary preferred
client = pymongo.MongoClient('mongodb://<sample-user>:<password>@sample-cluster.node.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
但是我可以在不使用 pymongo 上的“rds-combined-ca-bundle.pem”的情况下连接 aws-documentdb。
import ssl
from pymongo import MongoClient
client = MongoClient(db_host,db_port,username=db_user,password=db_password,ssl=True,ssl_cert_reqs=ssl.CERT_NONE)
为什么不使用“rds-combined-ca-bundle.pem”就可以连接??
解决方法
如果您查看 Mongo 文档,当您指定 ssl_cert_reqs=ssl.CERT_NONE
时,您是在告诉 PyMongo 绕过证书验证并仍然允许连接到服务器。
https://api.mongodb.com/python/3.3.0/examples/tls.html
但是,当您指定证书时,它会使用提供的证书执行服务器验证,这是推荐的方法。
,要获取最新的 .pem 文件,请使用此链接:
https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。