Nginx配置文件中location配置的多种场景

服务请求如下(示例):

  • nginx服务: http://127.0.0.1:80
  • 后台服务:http://127.0.0.1:8088
  • 测试url地址:http://127.0.0.1:8088/test/api/findAll

场景一、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/api/findAll

规则:location最后有"/“,proxy_pass最后有”/" 结果为 proxy_pass + url中location最后一个斜线以后的部分

场景二、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088//api/findAll

规则:location最后无"/“,proxy_pass最后有”/" 结果为 proxy_pass + / + url中location最后一个斜线以后的部分

场景三、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/test/api/findAll

规则:location最后有"/“,proxy_pass最后无”/" 结果为 proxy_pass + location + url中location后面的部分(不包含第一个/)

场景四、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/test/api/findAll

规则:location最后无"/“,proxy_pass最后无”/" 结果为 proxy_pass + location + “/” + url中location后面的部分(不包含第一个/)

以下配置的规则可以参考上面的场景。

场景五、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server/api/findAll

场景六、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server//api/findAll

场景七、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/serverapi/findAll

场景八、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server/api/findAll

总结

以上就是nginx配置文件里location中“/”相关配置的笔记。

到此这篇关于Nginx配置文件中location配置的文章就介绍到这了,更多相关Nginx配置文件location配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Nginx配置文件中location配置的多种场景)