文章目录
在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