文章目錄
在nginx中配置proxy_pass代理轉發時,
如果在proxy_pass後面的url加/,表示絕對根路徑;
如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。
假設下面四種情況分別用 http://192.168.1.1/abcd/index.html 進行訪問。
location /abcd/ {
proxy_pass http://127.0.0.1:80/;
proxy_redirect off;
### 第一版
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### 第二版
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
代理到 http://172.16.135.128/index.html
location /abcd/ {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
代理到 http://172.16.135.128/abcd/index.html
location /abcd/ {
proxy_pass http://127.0.0.1:80/aaa/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
代理到 http://172.16.135.128/aaa/index.html
location /abcd/ {
proxy_pass http://127.0.0.1:80/aaa;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
代理到 http://172.16.135.128/aaaindex.html