2017-08-11 94 views
0

在我的python 3上,基于瓶子的网站最近从ubuntu 14.04升级到16.04。我注意到当我运行我的网站时,使用nginx后面的gunicorn(1.12.2)并点击链接(如博客),这些链接在href标签中定义为“/ blog”,只要我点击它们,我就会重定向到domain.com ,domain.com /博客?如果我把鼠标悬停在链接上,我会将它看作是domain.com/blog的正确链接。如果我在本地启动站点没有gunicorn和nginx它工作正常。代码没有改变,只是模块随os版本和nginx一起升级。顺便说一句,我运行这个使用马戏团proc经理。浏览器在部分url链接上添加逗号和域名

只需要指针作为可能导致此问题的原因?

回答

0

这可能是您的Nginx设置而不是gunicorn的问题,因为我昨天遇到同样的问题。我只是一个初学者,但我想gunicorn以某种意外的方式对标题中的“X-Forwarded-For”作出了某种反应。

我的解决方案是:删除启用网站的(-available)下conf文件中的第一行,并删除第二行,如果它不起作用。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host; 
0

对我而言,这是Nginx的问题。 当nginx的配置是这样的:

 location/{ 
     include proxy_params; 
     proxy_set_header Host     $host; 
     proxy_set_header X-Real-IP   $remote_addr; 
     proxy_set_header X-Forwarded-For  
     proxy_pass http://127.0.0.1:7001; 
       } 

我有:

用逗号
Location : https://domain.test,domain.test 

两个网址分开。 而问题是,在这条线在/ etc/nginx的/ proxy_params

proxy_set_header Host $http_host; 

我评论它,现场效果很好。因此,正确的配置是:

  location/{ 
     # include proxy_params; -- remove this line 
     proxy_set_header Host     $host; 
     proxy_set_header X-Real-IP   $remote_addr; 
     proxy_set_header X-Forwarded-For  
     proxy_pass http://127.0.0.1:7001; 
       }