nginx location proxy_pass詳解
阿新 • • 發佈:2021-12-14
在nginx中配置proxy_pass時,如果在proxy_pass後面的url加/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分給代理走。
下面四種情況分別用http://106.12.74.123/abc/index.html進行訪問。
# 第一種 location /abc { proxy_pass http://106.12.74.123:83/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 結論:會被代理到http://106.12.74.123/index.html 這個url # 第二種(相對於第一種,最後少一個 /) location /abc { proxy_pass http://106.12.74.123:83; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 結論:會被代理到http://106.12.74.123/abc/index.html 這個url 第三種: location /abc { proxy_pass http://106.12.74.123:83/linux/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 結論:會被代理到http://106.12.74.123/linux/index.html 這個url。 # 第四種(相對於第三種,最後少一個 / ): location /abc { proxy_pass http://106.12.74.123:83/linux; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 結論:會被代理到http://106.12.74.123/linuxindex.html 這個url