1

pymongo.errors.ServerSelectionTimeoutError: mflix-shard-00-00.fmraf.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129),mflix-shard-00 -02.fmraf.mongodb.net:27017:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地颁发者证书(_ssl.c:1129),mflix-shard-00-01.fmraf.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129),超时:30 秒,拓扑描述:<TopologyDescription id:60b1c9b0c4a5874ea362693e,拓扑类型:ReplicaSetNoPrimary,服务器:[<ServerDescription ('mflix-shard -00-00.fmraf.mongodb.net', 27017) server_type: 未知, rtt: None, error=AutoReconnect('mflix-shard-00-00.fmraf.mongodb.net:27017: [SSL:CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>,<ServerDescription ('mflix-shard-00-01.fmraf.mongodb.net', 27017) server_type: Unknown, rtt:无,error=AutoReconnect('mflix-shard-00-01.fmraf.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>, < ServerDescription ('mflix-shard-00-02.fmraf.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mflix-shard-00-02.fmraf.mongodb.net:27017: [ SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>]>mflix-shard-00-01.fmraf.mongodb.net',27017)server_type:未知,rtt:无,错误=自动重新连接('mflix-shard-00-01.fmraf.mongodb.net:27017:[SSL:CERTIFICATE_VERIFY_FAILED ] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>,<ServerDescription ('mflix-shard-00-02.fmraf.mongodb.net', 27017) server_type:未知,rtt:无, error=AutoReconnect('mflix-shard-00-02.fmraf.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>]>mflix-shard-00-01.fmraf.mongodb.net',27017)server_type:未知,rtt:无,错误=自动重新连接('mflix-shard-00-01.fmraf.mongodb.net:27017:[SSL:CERTIFICATE_VERIFY_FAILED ] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>,<ServerDescription ('mflix-shard-00-02.fmraf.mongodb.net', 27017) server_type:未知,rtt:无, error=AutoReconnect('mflix-shard-00-02.fmraf.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>]>ServerDescription ('mflix-shard-00-02.fmraf.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mflix-shard-00-02.fmraf.mongodb.net:27017: [ SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>]>ServerDescription ('mflix-shard-00-02.fmraf.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mflix-shard-00-02.fmraf.mongodb.net:27017: [ SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1129)')>]>

这是它产生的错误。

我正在使用 FastApi、Motor 和 uvicorn 来运行服务器。我使用的数据库是 Mongo Atlas 中提供的一个免费集群。上次我在 2 天前更新服务器时工作正常,但从昨天开始就产生了错误。到目前为止,我已尝试更新上述软件包。

我是 mongodb 的新手。

4

1 回答 1

2

我找到了一个有效的修复方法,但如果它是最好的方法,我不会。

client = motor.motor_asyncio.AsyncIOMotorClient(MONGO_DETAILS)

上面的行是我连接到集群的方式。我将行更改为:

client = motor.motor_asyncio.AsyncIOMotorClient(MONGO_DETAILS, tls=True, tlsAllowInvalidCertificates=True)

它像以前一样工作,没有问题。

无论如何,我想知道为什么会发生此错误!

于 2021-05-29T05:49:48.383 回答