apache - 如何在具有不同端口的apache2/ubuntu14.04中的Flask上安装ssl证书

标签 apache ubuntu ssl flask

我已经在我的 apache2 上安装了 ssl 并为 443 端口创建了 https,它可以正常工作。当我尝试将 ssl 安装到 Flask 时,我无法成功。以下是我到目前为止所做的事情。

我已经使用 sudo nano/etc/apache2/sites-available/flask.conf 创建了文件

VirtualHost *:80>
    ServerName example.com
    ServerAdmin admin@example.com
    WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
    <Directory /var/www/FlaskApp/FlaskApp/>
        Order allow,deny
        Allow from all
    </Directory>
    Alias /static /var/www/FlaskApp/FlaskApp/static
    <Directory /var/www/FlaskApp/FlaskApp/static/>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:5000>
    ServerName example.com
    <Directory /var/www/FlaskApp/FlaskApp/>
                    Order allow,deny
                    Allow from all
            </Directory>


            SSLEngine on
            SSLCertificateFile /etc/apache2/ssl/STAR_file.crt
            SSLCertificateKeyFile /etc/apache2/ssl/STAR_file.key
            SSLCertificateChainFile /etc/apache2/ssl/STAR_file_bundle.pem
     <Location />
        SSLRequireSSL On
        SSLVerifyClient optional
        SSLVerifyDepth 1
        SSLOptions +StdEnvVars +StrictRequire
    </Location>
    ErrorLog ${APACHE_LOG_DIR}/sslerror.log
            LogLevel warn
            CustomLog ${APACHE_LOG_DIR}/sslaccess.log combined
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>

BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>'

然后我完成了启用 example.com 并重新启动了 apache2

但是当我检查浏览器时,它不适用于端口 5000 并出现错误
连接期间发生错误 SSL 收到超过最大允许长度的记录。 (错误代码:ssl_error_rx_record_too_long)

最佳答案

我建议将 2 个虚拟主机(端口 80 和端口 5000)分开到不同的虚拟主机文件,例如/etc/apache2/sites-available/flask.conf 和/etc/apache2/sites-available/flask-ssl .conf。我怀疑 apache 很困惑,并且正在为 HTTPS 请求提供 HTTP 响应,这可能会导致该错误。如果您使用代理,也可能是您的本地代理配置错误。

除此之外,我没有注意到配置文件有任何问题。

关于apache - 如何在具有不同端口的apache2/ubuntu14.04中的Flask上安装ssl证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32326300/

相关文章:

linux - 无法重新启动 NGINX 服务器

apache - 如何制作 tumblr 风格的个人资料 url

maven - Apache maven 插件升级

java - 配置 Tomcat 和非 EE Eclipse

asp.net-mvc - 如何仅为登录和特定页面 MVC 激活 SSL

ssl - 在单声道中,如何控制 SSL/TLS 密码套件?

javax.net.ssl.SSLHandshakeException : java. 安全.cert.CertificateException

Apache 访问控制允许 woff2 文件类型的来源问题

php - 非常简单的 PHP 代码使 Apache 崩溃

linux - 允许传入流量到 CentOS 服务器