python - 在反向代理后面加前缀 url_for()
问题描述
场景:HTTP 反向代理后面的 Flask + flask-login
Flask 应用程序位于http://localhost:5000/ 公共应用程序位于http://example.com/my_fancy_app/
反向代理向http://example.com/my_fancy_app/[stuff]发送请求到http ://localhost:/5000/[stuff]
使用 login_required 包装器:
login_required uses url_for() which redirects back out to http://example.com/[stuff]
我需要它重定向到http://example.com/my_fancy_app/[stuff]
在我 fork login_required_external=True
并向调用添加或支持 FlaskView之前url_for()
,有没有一种好方法可以为我的应用程序中所有生成的 URL 设置一个前缀login_required
可以看到?
解决方案
如此处所述:
http://blog.macuyiko.com/post/2016/fixing-flask-url_for-when-behind-mod_proxy.html
创建一个扩展 app.wsgi_app 类并包装它的类。
推荐阅读
- java - 当我单击开始(框架中的按钮)并减慢它以使循环不快时如何启动我的程序?
- android - Flutter 在滚动时加载 api 数据
- reactjs - 我可以在自定义挂钩中传递回调 aync 函数吗?无效的钩子调用错误
- javascript - 无法在本地机器上检查量角器版本
- sql-server - 如何修复“主密钥文件不存在或格式无效”。在 SQL Server 2017 中
- sockets - Flutter - 已经使用套接字监听了流
- kubernetes - Kubernetes pod 网络挂了
- angular - 如何在 Angular 日历中更改今天的列颜色
- vba - 我必须为以下课程使用 getter 和 setter 吗?
- python - 带有嵌套字典的 Pandas DataFrame