场景一: 利用根目录进行代理
location / {
proxy_pass http://example.test.com/;
}
location / {
proxy_pass http://example.test.com;
}
这两个配置实现的效果是一样的。
场景二: 下面四种情况分别用http://192.168.1.10/proxy/test.html 进行访问。
第一种情况:
location /proxy/ {
proxy_pass http://127.0.0.1:8080/;
}
实现效果:当访问http://192.168.1.10/proxy/test.html时,会被代理到http://127.0.0.1:8080/test.html 这个url,并将结果返回给我们。
第二种情况:(相对于第一种,最后少一个 /)
location /proxy/ {
proxy_pass http://127.0.0.1:8080;
}
实现效果:当访问http://192.168.1.10/proxy/test.html时,会被代理到http://127.0.0.1:8080/proxy/test.html 这个url,并将结果返回给我们。
第三种情况:
location /proxy/ {
proxy_pass http://127.0.0.1:8080/real/;
}
实现效果:当访问http://192.168.1.10/proxy/test.html时,会被代理到http://127.0.0.1:8080/real/test.html 这个url,并将结果返回给我们。
第四种情况(相对于第三种,最后少一个 / ):
location /proxy/ {
proxy_pass http://127.0.0.1:8080/real;
}
实现效果:当访问http://192.168.1.10/proxy/test.html时,会被代理到http://127.0.0.1:81/realtest.html 这个url,并将结果返回给我们。
假设1:
①一个访问路径(URL)端口号后面的路经可以分为两部分: location匹配中的部分 + location未匹配中的部分
②proxy_pass的路径也可以分为两部分IP地址 + 端口号
则:
当proxy_pass的端口号后面没有"/"时,用户访问到的资源为IP地址: 端口号/location匹配中的部分/location未匹配中的部分
当proxy_pass的端口号后面有"/"时,用户访问到的资源为IP地址: 端口号/location未匹配中的部分
假设2:
①一个访问路径(URL)端口号后面的路经可以分为两部分: location匹配中的部分 + location未匹配中的部分
②proxy_pass的路径若为三部分:IP地址 + 端口号+ contex路径
则: proxy_pass里面定义了context路径,路径后面没有"/"时,用户访问到的资源为IP地址:端口号/context路径location未匹配中的部分,没有 / 地址路径就是直接拼接的(http://127.0.0.1/ssswx/custom/getTitleList )
proxy_pass里面定义了context路径,路径后面有"/"时,用户访问到的资源为为ip地址:端口号/contex路径/location未匹配的内容, 有 / 地址路径就有(http://127.0.0.1/sss/wx/custom/getTitleList )