1. 程式人生 > >nginx 丟失埠

nginx 丟失埠

記錄一個bug

最近公司服務換成了nginx,配置完之後發現介面訪問出錯,有些介面的埠(不是預設介面)不見了。排查一通之後發現是因為有些介面結尾沒有 /

具體原因在這裡:nginx處理redirect location埠丟失的問題

拉到下面: 訪問目錄沒帶/

這個比較棘手,比如$document_root存在data/index.html檔案,但是訪問的時候最後沒加/,nginx會自動給你帶上/,返回一個301重定向(這個行為和apache一致),但是比較扯的地方在於,如果nginx監聽的是非標準埠,這個301返回的Location沒有埠號,導致瀏覽器請求出錯。用curl可以很明顯的看到這一點……