现在的位置: 首页 > 综合 > 正文

nginx proxy_pass末尾神奇的/

2017年11月12日 ⁄ 综合 ⁄ 共 844字 ⁄ 字号 评论关闭

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;
}

抱歉!评论已关闭.