如何使用PyMongo连接启用CA SSL的MongoDB副本集
使用PyMongo连接启用CA SSL的MongoDB副本集的简洁方法
刚好你已经掌握了普通副本集和单实例SSL连接的基础写法,把这两者的核心参数结合起来就是最简洁的方案,直接上代码:
from pymongo import MongoClient client = MongoClient( ['1.1.1.1:27017', '2.2.2.2:27017', '3.3.3.3:27017'], username="user", password="password", ssl=True, ssl_ca_certs='/path/to/ca.pem' )
关键参数说明:
- 保留你之前连接副本集的节点列表写法,把所有副本集成员的地址放进列表即可
ssl=True:开启SSL加密连接,和你连接单实例SSL的配置一致ssl_ca_certs:指定CA证书的路径,用来验证MongoDB服务器的身份,这是启用CA SSL的核心参数- 用户名密码参数
username和password继续保留,满足副本集的认证需求
如果需要客户端证书认证
要是你的MongoDB集群还要求客户端提供证书验证身份,只需要额外加上客户端证书相关参数就行:
client = MongoClient( ['1.1.1.1:27017', '2.2.2.2:27017', '3.3.3.3:27017'], username="user", password="password", ssl=True, ssl_ca_certs='/path/to/ca.pem', ssl_certfile='/path/to/client.pem', ssl_keyfile='/path/to/client-key.pem' )
版本兼容性说明
你当前使用的Python 3.6、MongoDB 3.6、PyMongo 3.6.1版本完全支持这些参数,不需要担心版本适配问题,直接用就行。
内容的提问来源于stack exchange,提问作者Dinal24
相关产品推荐
相关产品推荐

