2024-09-28 23:16:16 发布
网友
为了在Python Flask中支持https,必须在app.run()命令中指定ssl_context选项。
它就是这样的documented:
ssl_context–连接的ssl上下文。ssl.SSLContext、表单中的元组(cert_文件、pkey_文件)、字符串“adhoc”(如果服务器应自动创建一个)或“None”来禁用ssl(这是默认设置)。
以下是枚举选项:
在这些情况下,这些选项之间的区别是什么:
3. Security是唯一重要的一个,答案是“永远不要在生产中使用Werkzeug/Flask dev服务器。”有ssl_context选项是为了在测试期间方便,但是生产应用程序应该与Nginx一起使用真正的应用程序和web服务器,如uWSGI,适当地配置Nginx以呈现真实的TLS证书。
3. Security
ssl_context
使用前两个选项,您可以提供自己的证书,该证书可以(应该)由认可的机构签名,也可以由您的客户端(如果您的应用程序部署在可以在每台计算机上安装证书的上下文中,或者如果您的客户端不是web浏览器而是应用程序,则会发生这种情况你可以把证书和它一起寄出去。
这将显示用户他正在与真正的服务器通信,而不是与试图窃听流量的人通信。
第三个选项将创建一个自签名证书,在这一点上不对用户提供任何保证。
在用户体验方面,当客户端是Web浏览器时,使用自签名证书将引发一个令人担忧的关于证书有效性的消息,并说“严肃的Web站点不会要求您盲目地接受未知证书”。
总而言之,您有三个选项(选项1和2最后相同):
3. Security
是唯一重要的一个,答案是“永远不要在生产中使用Werkzeug/Flask dev服务器。”有ssl_context
选项是为了在测试期间方便,但是生产应用程序应该与Nginx一起使用真正的应用程序和web服务器,如uWSGI,适当地配置Nginx以呈现真实的TLS证书。使用前两个选项,您可以提供自己的证书,该证书可以(应该)由认可的机构签名,也可以由您的客户端(如果您的应用程序部署在可以在每台计算机上安装证书的上下文中,或者如果您的客户端不是web浏览器而是应用程序,则会发生这种情况你可以把证书和它一起寄出去。
这将显示用户他正在与真正的服务器通信,而不是与试图窃听流量的人通信。
第三个选项将创建一个自签名证书,在这一点上不对用户提供任何保证。
在用户体验方面,当客户端是Web浏览器时,使用自签名证书将引发一个令人担忧的关于证书有效性的消息,并说“严肃的Web站点不会要求您盲目地接受未知证书”。
总而言之,您有三个选项(选项1和2最后相同):
相关问题 更多 >
编程相关推荐