2016-09-01 25 views
1

任何人都可以解釋爲什麼刪除最後一個斜槓會產生無限循環?在Chrome瀏覽器中它會導致http://localhost//NginX Proxy Pass無限循環

location/{ 
    proxy_pass http://localhost:8080/tracker; // infinite loop 
} 

location/{ 
    proxy_pass http://localhost:8080/tracker/; // not infinite loop 
} 

但是,如果我在的位置指令加後綴,它是好的。

location /tracker { 
    proxy_pass http://localhost:8080/tracker; // not infinite loop 
} 

location /tracker { 
    proxy_pass http://localhost:8080/tracker/; // not infinite loop 
} 

回答

3

的情況下:

location/{ 
    proxy_pass http://localhost:8080/tracker; 
} 

將產生302重定向循環如果/tracker是上游目錄(例如)。上游可能會發出302重定向來追加/proxy_pass會再次剝離。

您正在別名URI - 因此,位置和目標位置都應以/結尾,或者都不要以/結尾。

+0

你是什麼意思上游目錄? –

+0

上游我的意思是'localhost:8080'。你沒有聲明在localhost:8080上正在監聽的應用程序,但是(可能)某些東西正在使它從'/ tracker'重定向到'/ tracker /'。 –

+0

這只是簡單的Spring Framework應用程序,它返回純HTML –

1

檢查你的「追蹤器應用程序」,如果有一個尾隨斜線,大多數框架有這個功能,像SEO一樣。

無論如何,你可以用訪問日誌來跟蹤它。

+0

耶後面的斜線做了它,所以我必須標準化所有映射的URL有或沒有尾部斜槓? –

+0

取決於鏈接的內容,你可以檢查谷歌網站管理員工具的標準(https://webmasters.googleblog.com/2010/04/to-slash-or-not-to-slash.html) – Kaylas