【发布时间】:2021-07-15 21:32:51
【问题描述】:
希望有人可以帮助我,因为我正在努力寻找任何地方的答案。
我正在构建一个必须在 HTTPS 中运行的 Flask 应用程序。在本地开发中,我只是在运行应用程序时做一个非常快速的 ssl_context='adhoc',如下所示:
if __name__ == "__main__":
app.run(
ssl_context='adhoc',
)
这非常有效,但是当我现在准备开始通过 Heroku 进行测试时,我想更改它以便在我的配置文件中设置 ssl_context:
import os
from decouple import config
class Config:
DEBUG = False
DEVELOPMENT = False
SECRET_KEY = config('SECRET_KEY')
class ProductionConfig(Config):
pass
class StagingConfig(Config):
DEBUG = True
class DevelopmentConfig(Config):
DEBUG = True
DEVELOPMENT = True
# Add cert here
我尝试过使用 FLASK_RUN_CERT = 'adhoc' 但这不起作用,我不知道我还能在这里使用什么。我不介意每次提交时都删除 ssl_context='adhoc' 但如果我能避免它,那将是优先考虑的。
任何建议将不胜感激。
【问题讨论】:
-
有什么理由必须在烧瓶中设置 ssl_context 吗?当我在通常在部署的最后阶段配置它之前完成此操作时,即启动并运行应用程序,然后创建一个证书以在服务器上启用 https - 在你的情况下为 heroku - 然后强制所有连接到 https。
-
是的,我更愿意这样做,但我正在构建一个由需要 HTTPS 的 API 提供的应用程序,因此目前别无选择