正确地将Nginx代理到具有子路径的Django应用

时间:2019-06-06 10:15:50

标签: python django nginx gunicorn uwsgi

我已经将近一个星期无法解决此问题,非常感谢您的帮助。我觉得有些事情我不是很了解,我也越来越沮丧,因为我似乎无法在任何地方找到关于这个问题的明确答案。

让我们说我想用uwsgi或gunicorn运行django应用程序,并使其可以通过子路径访问,例如:“ www.mysite.com/app1”

我这样创建一个nginx proxy_pass:

location /app1/ {
proxy_pass http://localhost:8000/;
}

现在。到目前为止,一切正常,我被重定向到Django “ /” 页面。但是,例如,如果我尝试访问“ www.mysite.com/app1/admin” ,我将被重定向到“ www.mysite.com/admin” 是错的。如果查看nginx日志,可以看到“ www.mysite.com/app1/admin” 的重定向是 301 ,然后显然是找不到“ www.mysite.com/admin” 的404

我知道问题很明显是Django或Uwsgi / Gunicorn需要知道我在Nginx中定义的子路径。但是我真的无法找到一个正确的答案来解决这个问题。

非常感谢您

0 个答案:

没有答案