簡體   English   中英

如何在燒瓶中將HTTP重定向到https

[英]how to redirect http to https in flask

我的Flask應用將http重定向到https。 我發現python flask從http重定向到https,但是它不起作用。

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'))

首先,最好使用nginx或您在flask前使用的任何工具來完成此操作

對於您的問題,您僅在443端口上偵聽,而不在http所使用的80端口上偵聽,因此http請求實際上並未到達您的服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM