我有一个域名binging IP:
a.a.com -> 1.1.1.1
在1.1.1.1
中有一个nginx,用于访问a.a.com/bbb/
到2.2.2.2
的django服务。
`
#1.1.1.1
server {
listen 8090;
server_name localhost;
location /bbb/ {
proxy_pass 2.2.2.2:8000;
}
}
`
当我输入a.a.com/bbb/
时,我可以访问,它没问题。
但是当Django登录会话超时时,它会自动重定向a.a.com:8090/bbb/
。
我想问一下如何自动重定向a.a.com/bbb/
。
PS。 8090端口无法访问
抱歉,我的英语很差,谢谢。
答案 0 :(得分:1)
使用proxy_redirect off
:
location /bbb/ {
proxy_pass 2.2.2.2:8000;
proxy_redirect off;
}
proxy_redirect off
告诉nginx,如果后端返回HTTP重定向,它应该保持原样。 (默认情况下,nginx假定后端是愚蠢的并且试图变得聪明;如果后端返回一个称为“重定向到http://localhost:8000/somewhere”的HTTP重定向,nginx会用类似于“http://yourowndomain.com/somewhere”的内容替换它,或者,在你的情况下,“http://yourowndomain.com:8090/somewhere”。Django非常聪明,因此不需要nginx来做这些事情。)