使用MongoEngine连接加密的mongod服务端

本文介绍如何使用mongoengine连接MongoDB并配置SSL安全连接。通过设置ssl参数及证书路径,确保数据传输的安全性。提供了详细的参数说明及连接实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mongoengine是基于pymongo的

部分参数可以参考pymongo的文档


mongoengine.connect

可以使用kwargs传递参数

kwargs – allow ad-hoc parameters to be passed into the pymongo driver


ssl配置


ssl_config = {
    'ssl': True,
    'ssl_certfile': 'c1.crt',
    'ssl_keyfile': 'c1.key',
    'ssl_cert_reqs': ssl.CERT_REQUIRED,
    'ssl_ca_certs': 'ca.crt',
    'ssl_match_hostname': False
}


这里把ssl_match_hostname设置为False不检查证书的CN

避免可能的错误

raise ConnectionError("Cannot connect to database %s :\n%s" % (alias, e))
mongoengine.connection.ConnectionError: Cannot connect to database default :
hostname '192.168.1.1' doesn't match 'server'

如果颁发证书的时候CN与连接的host一致可以不设置此项


连接


connect('testdb1',
        username='testdb1u1',
        password='xyz123',
        host='192.168.1.1',
        port=27017,
        **ssl_config)








参考

http://docs.mongoengine.org/apireference.html#connecting

http://api.mongodb.com/python/current/examples/tls.html#tls-ssl-and-pymongo

http://api.mongodb.com/python/current/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient

http://stackoverflow.com/questions/38123843/how-to-connect-to-the-mongodb-cluster-using-mongoengine/38181352

https://docs.python.org/2/library/ssl.html#ssl.SSLContext.check_hostname


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值