简体   繁体   中英

How to install ssl certificate on Flask in apache2/ubuntu14.04 with different ports

i have installed ssl to my apache2 and created https for port of 443, its working. when i tried to install ssl to Flask i could not make it as successful. here are things i have done so far.

i have created file using 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>'

then i have done the enable example.com and restarted the apache2

but when i am check in browser its not working for the port 5000 and get error as
An error occurred during a connection SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long)

I suggest separating the 2 virtual hosts (port 80 and port 5000) to different virtual host files, such as /etc/apache2/sites-available/flask.conf and /etc/apache2/sites-available/flask-ssl.conf. I suspect apache is confused and is serving an HTTP response to an HTTPS request, which can cause that error. It is also possible that you might have a local proxy that's misconfigured, if you use a proxy.

I didn't notice anything wrong with the config file other than that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM