【问题标题】:"SSL: CERTIFICATE_VERIFY_FAILED" error with Flask and MongoEngineFlask 和 MongoEngine 出现“SSL:CERTIFICATE_VERIFY_FAILED”错误
【发布时间】:2021-04-05 22:10:15
【问题描述】:

我正在尝试向我的 Mongo 服务器发送 GET 请求,这是我当前遇到的问题。

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1122)')>]>

我无法弄清楚发生了什么。我的代码看起来是正确的,所以我有点困惑。

这是我的应用程序/主文件:

from flask import Flask

from flask_mongoengine import MongoEngine

db = MongoEngine()

# Did pip install certifi for security certifications

def create_app(config=None):
    app = Flask(__name__)
if config is not None:
    app.config.from_object(config)

db.init_app(app)

@app.route("/")
def hello():
    return "Hello World"

from user.views import user_page
# This means that we will use /user/login....
# To access the login page
app.register_blueprint(user_page, url_prefix="/user")

return app

这是我的配置文件:

# MONGODB_DB = 'my-db'
MONGODB_SETTINGS = {
    'host': 'mongodb+srv://jack123:coolPass@my-db.ap6mq.mongodb.net/my-db?retryWrites=true&w=majority'
}

我当然会很感激这方面的任何帮助!这是我一直坚持一段时间的事情。我不知道从哪里获得证书或如何关闭它。

【问题讨论】:

    标签: python mongodb mongoengine


    【解决方案1】:

    我怀疑 certifi 是否会自动为 MongoDB 连接做任何事情。

    如果您的系统没有提供 Atlas 所需的证书,您很可能需要:

    • 找出/查找 Atlas 使用的 CA 证书(请参阅 Atlas 文档,如果这对您没有帮助,您可以使用 openssl 命令行工具从连接中提取 CA 证书)
    • 使用 URI 选项将此证书提供给 pymongo(有关如何执行此操作,请参阅 pymongo 文档)

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 1970-01-01
      • 2015-03-06
      • 2021-03-24
      • 1970-01-01
      相关资源
      最近更新 更多