nginx proxy_pass末尾神奇的/

来源:互联网 发布:淘宝大学免费教程 编辑:程序博客网 时间:2024/04/27 07:24
http://otherserver;和http://otherserver/;有什么区别呢?


location /service/ {
proxy_pass http://otherserver;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}


location /service/ {
proxy_pass http://otherserver/;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
同样访问:http://neverstay.com/service/add.php
前者配置,在后端的机器,收到的是http://neverstay.com/service/add.php
后者配置,在后端的机器,收到的是http://neverstay.com/add.php


如果换成下面这样,会报错:
location ~ ^/(service)/ {
proxy_pass http://otherserver/;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
"proxy_pass" may not have URI part in location given by regular expression, or inside named location, or inside the "if" statement, or inside the "limit_except" block in nginx.conf:


但是,这样就没问题了:
location ~ ^/(service)/ {
proxy_pass http://otherserver;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
原创粉丝点击