任何重定向(url_for(“index”))行都会将应用程序从domain.com/app重定向到ip-addr / app,其中ip-addr是我自己的客户端机器ip,而不是服务器的.
这让我很困惑,我不知道问题究竟发生在哪里,因为它只发生在服务器而不是任何本地测试.
细节:
我正在使用此处找到的反向代理设置http://flask.pocoo.org/snippets/35/.
我的Nginx配置是这样设置的
location /app {
proxy_set_header X-Script-Name /app;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_pass http://localhost:8000/;
}
我有一个gunicorn运行我的烧瓶应用程序作为一个暴发户的任务.
任何提示?
编辑:
所以我挖了一下,发现这个git报告有类似的问题,https://github.com/omab/django-social-auth/issues/157.
Nginx – Gunicorn通过localhost(127.0.0.1:1234)为Nginx服务.不幸的是,当我使用社交平台进行身份验证时,重定向URL social-auth将它们发送到127.0.0.1:1234/twitter/complete,这显然无法通过客户端的浏览器解析.
看来我的Flask应用程序没有得到备忘录来更新其重定向路由.
最佳答案