proxy_pass配置的端口后面只要有/,不管路径后面有没有斜杠/,都表示绝对路径。此时,有请求匹配到的localtion右边的字符串部分就会被去掉,然后剩余的部分直接带过去。
反之就是相对路径的,此时只要匹配到,就会把全部url都带过去。
proxy_pass http://localhost:8080/; #绝对路径
proxy_pass http://localhost:8080/api; #绝对路径
proxy_pass http://localhost:8080/api/; #绝对路径
proxy_pass http://localhost:8080; #相对路径,因为端口后面没有/
例子1:
location /a1/ {
proxy_pass http://localhost:8080;
}
相对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://localhost/a1/test
例子2:
location /a1 {
proxy_pass http://localhost:8080;
}
相对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://localhost/a1/test
例子3:
location /a1 {
proxy_pass http://localhost:8080/;
}
绝对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://localhost//test
例子4:
location /a1/ {
proxy_pass http://localhost:8080/;
}
绝对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://localhost:8080/test
例子5:
location /a1/ {
proxy_pass http://localhost:8080/b1;
}
绝对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://1.1.1.1/b1test
例子6:
location /a1/ {
proxy_pass http://localhost:8080/b1/;
}
绝对路径,此时请求 http://1.1.1.1/a1/test时,相当于http://1.1.1.1/b1/test