反向代理nginx重写uwsgi重定向位置响应

时间:2017-12-11 11:39:08

标签: django redirect nginx reverse-proxy uwsgi

我的配置现在是nginx + uwsgi +不同的django应用程序。

我对nginx的配置配置如下:

location /app1/ {
    uwsgi_pass  app1;
    include     /home/code/uwsgi_params; # the uwsgi_params file you installed
}

location /app2/ {
    uwsgi_pass  app2;
    include     /home/code/uwsgi_params; # the uwsgi_params file you installed
}

我还在uwsgi中设置了挂载点,以使反向代理工作。

类似的东西:

mount = /app1=app1.wsgi:application
manage-script-name = true

因为我的应用需要登录才能访问网站内容。

所以当我输入www.example.com/app1

Uwsgi将返回302重定向响应:

< HTTP/1.1 302 Found
< Server: nginx/1.10.3 (Ubuntu)
< Date: Mon, 11 Dec 2017 10:30:47 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Location: /login/?next=/app1/
< X-Frame-Options: DENY
< Vary: Cookie

Nginx会按照位置链接,但是,因为这个位置不是/ app1 / login /?next = / app1 /所以它无法将请求发送到uwsgi。相反,它试图在其根目录中找到login /?next = / app1 / local。

如何使用正确的前缀重写重定向响应?应该在nginx端配置还是在uwsgi端配置?

0 个答案:

没有答案