Flask url_for(' index',_ external = True)使用双ip创建url?

时间:2016-05-09 23:29:47

标签: python url nginx flask gunicorn

我有一个Flask网站在测试机上运行正常,我只是用ip-address调用。我现在部署了一些新代码,url_for('index', _external=True)突然发出一个地址,其中列出了(正确的)ip地址两次,其间有一个逗号:

http://52.29.15.xxx,52.29.15.xxx/

我的SERVER_NAME中没有定义config.py(过去一直工作到今天),我在gunicorn服务器后面的nginx上运行。

我尝试将SERVER_NAME = '52.29.15.xx'添加到我的config.py中,但是我在尝试的每个网址上都获得了404(因此该网站根本无法正常工作)。

我想问题在于nginx是否经过了一个奇怪的位置?

有人知道如何解决这个问题吗?欢迎所有提示!

1 个答案:

答案 0 :(得分:1)

好的,经过一些摆弄我发现我的nginx配置有错误。我的配置中实际上在两个地方有以下两行(这就是我没注意到的原因):

proxy_set_header Host $http_host;
proxy_set_header Host $host;

导致IP地址在Flask请求上下文中出现两次。

我现在删除了第一行,一切都很好地再次运行..: - )