如何将http重定向到烧瓶中的https

时间:2016-11-15 07:33:25

标签: python flask https wsgi

我的Flask应用程序将http重定向到https。我发现 python flask redirect to https from http但它不起作用。

from flask import Flask, request, redirect
from werkzeug.serving import make_ssl_devcert


make_ssl_devcert('key')

app = Flask(__name__)

@app.before_request
def before_request():
    if request.url.startswith('http://'):
        url = request.url.replace('http://', 'https://', 1)
        code = 301
        return redirect(url, code=code)

@app.route("/")
def hello():
    return "Hello World!"


if __name__ == "__main__":
    app.run(host='127.0.0.1', port=443, debug=False, ssl_context=('key.crt', 'key.key'))

1 个答案:

答案 0 :(得分:3)

首先,最好通过nginxflask

前面的任何内容来完成

对于你的问题,你只是在443端口而不是80上听,这是一个http使用的,所以http请求实际上并没有命中你的服务器。