Flask HTTPS无法上载带有SSL的Flask服务器(使用waitress和nginx)

2024-04-27 15:46:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我编辑了我的问题:

我试图将我的flask服务器更改为生产级服务器。 不幸的是,即使使用示例flask应用程序,我目前也无法做到这一点: 当尝试在没有HTTPS的情况下连接时,该站点工作正常,当使用HTTPS连接时,我会出现“无法访问此站点”错误

我的nginx配置:

server {
    listen 443 ssl;
    ssl_certificate path/cert.pem;
    ssl_certificate_key path/key.pem;
    server_name 127.0.0.1;
 location / {
            proxy_pass http://127.0.0.1:5000;
            proxy_set_header X-Real-IP $remote_addr;
        }
}
server {
    listen 80;
    server_name 127.0.0.1;
    return 302 https://$server_name$request_uri;
}
server {
    listen 5000;
    server_name 127.0.0.1;
    return 302 https://$server_name$request_uri;
}

在编辑我的配置后,我使用此命令以便nginx识别新配置:

sudo ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled

我的烧瓶应用程序:

from flask import Flask
from waitress import serve
import logging

app = Flask(__name__)


@app.route("/")
def hello():
    return "<h1 style='color:blue'> A very simple flask server !</h1>"


if __name__ == "__main__":
    # app.run(host='0.0.0.0', port=8080)
    logger = logging.getLogger('waitress')
    logger.setLevel(logging.INFO)
    serve(app, host='127.0.0.1', port=5000, url_scheme='https')

非常感谢您的帮助


Tags: namehttpsimportapp应用程序编辑sslflask