gpt4 book ai didi

python - 如何在 Flask 中使用 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:37 27 4
gpt4 key购买 nike

我正在尝试将 Flask 设置为在 SSL 上运行,同时将所有 HTTP 流量重定向到 HTTPS。

我目前正在使用 Apache 作为网络服务器,它在端口 80 HTTP 上正常提供流量。但是,当我将 VirtualHost 端口 80 下的配置移动到端口 443 并为端口 80 设置重定向时,重定向有效但 Apache 一直显示 Apache 测试页面,并且不为 Flask 应用程序提供服务。错误日志没有显示任何有用的信息。我看到的唯一错误是 Directory index forbidden by Options directive:/var/www/html。我什至不使用/var/www/html,而且我知道这主要是对旧版浏览器的警告。

这是我的 Apache 虚拟主机设置:

LoadModule wsgi_module modules/mod_wsgi.so
WSGISocketPrefix run/wsgi

NameVirtualHost *:80
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLEngine on
SSLCertificateFile <<FILE PATH>>
SSLCertificateKeyFile <<FILE PATH>>
SSLCertificateChainFile <<FILE PATH>>
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

WSGIPassAuthorization On
WSGIDaemonProcess api processes=4 threads=1
WSGIProcessGroup api
WSGIScriptAlias / /usr/local/app/api/current/conf/application.wsgi

AddType text/html .py

<Directory /usr/local/app/api/current/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

它有什么问题?当我将所有 WSGI 和目录行复制到端口 80 并复制出 443 时,它可以正常工作。

最佳答案

这个问题属于 super 用户。

顺便说一句,它与 Flask 无关。您在 VirtualHost 定义中缺少 DocumentRoot 指令。所以 Apache 使用默认的 /var/www/html

关于python - 如何在 Flask 中使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com