【发布时间】:2019-08-09 04:32:58
【问题描述】:
一直在尝试这样做,但没有找到可行的方法。
我有一个通过 Apache 和 mod_wsgi 部署的 Django 应用程序。 Apache 监听 8080 端口,当我访问时一切正常
example.com:8080
我让 Nginx 在端口 80 上侦听为/ 的静态站点提供服务。
我正在尝试为 Apache (Django) 配置 Nginx 反向代理,以便当我访问 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;
}
我尝试在app 和proxy_pass 地址之后使用/不使用斜线。
但是,我总是收到 404 Not Found 错误。
有人可以帮我在 Nginx 中正确设置反向代理吗?
提前致谢
【问题讨论】:
-
健全性检查:谁给出了 404 错误? Nginx 或 apache(如果你查看 apache 的日志,你会看到 404 错误)。第一个猜测是 nginx 在代理请求时没有剥离 /app ,但我总是必须仔细检查配置(并且通常发现反向代理更快乐,如果你将 /app 代理到后端 / 应用程序而不是后端,因为/)的假设
-
嗨@Foon 感谢您的回复。 apache的日志中没有404错误。
标签: django apache nginx reverse-proxy mod-wsgi