Nginx反向代理到Apache mod_wsgi django应用

时间:2019-03-18 18:09:48

标签: django apache nginx reverse-proxy mod-wsgi

曾经尝试这样做了一段时间,却没有找到有效的方法。

我有一个通过Apache和mod_wsgi部署的Django应用。 Apache监听端口8080,访问

时一切正常

example.com:8080

我让Nginx在端口80上监听/上的静态站点。

我正在尝试将Nginx反向代理配置为Apache(Django),以便在我访问example.com/app时应将我带到Django应用程序。到目前为止,这是我的配置:

location /app/ {
                proxy_pass http://localhost:8080/;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }

我尝试在appproxy_pass地址之后都使用/不使用斜杠。

但是,我总是收到404 Not Found错误。

有人可以帮助我在Nginx中正确设置反向代理吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

FORCE_SCRIPT_NAME='/app/'

在settings.py上添加它,然后重新启动Django。该值应与nginx中的位置条目匹配才能正常工作。