相关疑难解决方法(0)

Flask url_for生成http URL而不是https

url_for用户在用户注销时生成重定向网址.

url_for

但是,当我将页面更改为https连接时,url_for仍然会给我http.

我想明确要求在网址的开头url_for添加https.

你能指点我怎么改变它吗?我看看Flask的文档,没有运气.

谢谢.

python url-routing werkzeug flask

40
推荐指数
6
解决办法
2万
查看次数

在Flask中改变request.base_url

我在负载平衡后面有一个Flask应用程序,它终止了SSL.我有代码"检测"何时使用SSL并改变请求对象:

@app.before_request
def before_request():
    x_forwarded_proto = request.headers.get('X-Forwarded-Proto')
    if  x_forwarded_proto == 'https':
        request.url = request.url.replace('http://', 'https://')
        request.url_root = request.url_root.replace('http://', 'https://')
        request.host_url = request.host_url.replace('http://', 'https://')
Run Code Online (Sandbox Code Playgroud)

然后我有一个蓝图视图功能:

admin = Blueprint('admin', __name__, url_prefix='/admin')
@admin.route('/login')
def login():
    print request.url
Run Code Online (Sandbox Code Playgroud)

这个函数的输出(当我去/ admin/login时)总是http://而不是https://(尽管它应该在before_request函数中被突变).

关于如何解决这个问题的任何想法?

python ssl request flask

7
推荐指数
1
解决办法
3191
查看次数

标签 统计

flask ×2

python ×2

request ×1

ssl ×1

url-routing ×1

werkzeug ×1