警告
本文最后更新于 2021-04-21 15:46,文中内容可能已过时。
nginx反向代理的时候加/
和不加/
区别很大,情况也有很多种,容易忘记记混,这里记录一些情况
默认情况下
1
2
3
4
| location / {
proxy_pass http://127.0.0.1:8888;
# 访问: http://localhost/test/1 ==> http://127.0.0.1:8888/test/1
}
|
location和proxy_pass不同地方加/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| location /test01 {
proxy_pass http://127.0.0.1:8888;
# localhost/test01/123 ==> 127.0.0.1:8888/test01/123
}
location /test02/ {
# 注意不会匹配localhost/test02
proxy_pass http://127.0.0.1:8888;
# localhost/test02/123 ==> 127.0.0.1:8888/test02/123
}
location /test03/ {
# 注意不会匹配localhost/test03
proxy_pass http://127.0.0.1:8888/;
# localhost/test03/ ==> 127.0.0.1:8888/
# localhost/test03/123 ==> 127.0.0.1:8888/123
}
location /test04 {
proxy_pass http://127.0.0.1:8888/;
# localhost/test04aaa ==> 127.0.0.1:8888/aaa
# localhost/test04/123 ==> 127.0.0.1:8888//123
}
|
proxy_pass带后缀的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| location /test06 {
proxy_pass http://127.0.0.1:8888/uri;
# localhost/test06 ==> 127.0.0.1:8888/uri
# localhost/test06/ ==> 127.0.0.1:8888/uri/
# localhost/test06aaa ==> 127.0.0.1:8888/uriaaa
# localhost/test06/aaa ==> 127.0.0.1:8888/uri/aaa
}
location /test07 {
proxy_pass http://127.0.0.1:8888/uri/;
# localhost/test07 ==> 127.0.0.1:8888/uri/
# localhost/test07/ ==> 127.0.0.1:8888/uri//
# localhost/test07aaa ==> 127.0.0.1:8888/uri/aaa
# localhost/test07/aaa ==> 127.0.0.1:8888/uri//aaa
}
location /test08/ {
proxy_pass http://127.0.0.1:8888/uri;
# localhost/test08/ ==> 127.0.0.1:8888/uri
# localhost/test08/aaa ==> 127.0.0.1:8888/uriaaa
# localhost/test08/aaa/ ==> 127.0.0.1:8888/uriaaa/
}
location /test09/ {
proxy_pass http://127.0.0.1:8888/uri/;
# localhost/test09/ ==> 127.0.0.1:8888/uri/
# localhost/test09/aaa ==> 127.0.0.1:8888/uri/aaa
# localhost/test09/aaa/ ==> 127.0.0.1:8888/uri/aaa/
}
|