在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
upstream demo {
server 192.168.1.1:8080;
server 192.168.1.2:8080;
ip_hash;
}
server {
listen 80;
server_name demo.domain.com;
location /demo {
proxy_pass http://demo/; #后面的斜杠是一个关键
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/access.log;
}
例如上面的例子,proxy_pass 后面有没有斜杠最终的代理后的地址是不同的
proxy_pass http://demo/
代理后http://192.168.1.1:8080/
proxy_pass http://demo
代理后http://192.168.1.1:8080/demo