我正在尝试将Flask设置为在SSL上运行,同时将所有HTTP流量重定向到HTTPS。
我目前正在使用Apache作为web服务器,它正在正确地为端口80http上的通信服务。但是,当我将端口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时,它可以正常工作。
这个问题属于超级用户。
顺便说一句,这和烧瓶无关。 您的
VirtualHost
定义中缺少DocumentRoot
指令。 所以Apache使用默认的/var/www/html
。结帐。使用this小容量扩展,所有流量都从HTTP重定向到HTTPS。
在初始化烧瓶应用程序时,您只需运行以下操作:
相关问题 更多 >
编程相关推荐