[英]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.