在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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐