LoginSignup
0
0

pymongoの[SSL: CERTIFICATE_VERIFY_FAILED]を解決する

Posted at

エラー概要

FastAPIとMongoDBを接続しようとしたところ、以下のエラーが出ました。

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)

SSL証明書の検証に失敗し、その結果としてMongoDBサーバーへの接続がタイムアウトしていました。

対処法

certifiをインストールし、AsyncIOMotorClientの第二引数にtlsCAFile=certifi.where()を渡します。

pip install certifi
client = motor.motor_asyncio.AsyncIOMotorClient('mongodb+srv://<user>:<password>@fastapi.eaqzx3y.mongodb.net/?retryWrites=true&w=majority&appName=<appnName>', tlsCAFile=certifi.where())

備考

証明書の期限切れでも同様のエラーが発生するようです。
筆者の場合は期限切れによるエラーではなかったのでcertifiを使い、PythonでSSL証明書の信頼性を検証するようにしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0