2016-12-15 51 views
0

我有一個域暴飲暴食一個IP:nginx的URL重定向到自定義網址

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端口訪問斜面

對不起我的英文不好,謝謝。

回答

1

使用proxy_redirect off

location /bbb/ { 
    proxy_pass 2.2.2.2:8000; 
    proxy_redirect off; 
} 

proxy_redirect off告訴nginx的是,如果後端返回一個HTTP重定向,它應該保留原樣。 (默認情況下,Nginx的假設後端是愚蠢的,並試圖是聰明;如果後端返回一個HTTP重定向,上面寫着「重定向到http://localhost:8000/somewhere」,nginx的有類似的東西代替它爲「http://yourowndomain.com/somewhere」,或者,你的情況,「http://yourowndomain.com:8090/somewhere 」 Django是足夠聰明,所以沒有必要nginx的做這樣的事情。)

+0

是啊,你是對的。但我的問題的答案是:舊的自動重定向網址是a.a.com/bbb,將其更改爲a.a.com/bbb/,這沒關係!謝謝。 –