Flask中url_for无法自动跳转https问题

问题背景:

工程中使用到Flask做重定向,浏览器端用https协议访问服务,通过url_for跳转后,默认跳到http协议的服务。通过阅读文档,发现需要Nginx配置特定请求头

具体方法:

截图

  1. 由于Flask默认不处理转发头X-Forwarded-Proto,即时Nginx代理中转发了该请求头,依然无效;
    proxy_set_header      X-Forwarded-Proto    $scheme
    
  2. 需要利用ProxyFix,让Flask支持处理 X-Forwarded-Proto:
    from werkzeug.middleware.proxy_fix import ProxyFix
    app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
    

参考文档:
一、dormousehole.readthedocs.io/en/latest/deploying/wsgi-standalone.html;
二、https://werkzeug.palletsprojects.com/en/latest/middleware/proxy_fix/#werkzeug.middleware.proxy_fix.ProxyFix;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值