1、简介

        我们平常配置 Nginx 时,通常会被 location 和 proxy_pass 后面加不加 / 而迷惑,为此本文对此进行详细说明。

2、location 的 uri 配置

2.1、location 和 proxy_pass 后面加不加 /

1)、proxy_pass 端口后面没有 / ,则会将 location 及其后缀的内容完全拼接到 proxy_pass 所配置的地址后。

2)、proxy_pass 端口后面有 /,则仅会将 location 的后缀拼接到 proxy_pass 所配置的地址后。

示例:请求地址为:http://192.168.1.1:80/test/aa/bb

location 配置的前缀proxy_pass 配置拼接后结果备注/test/aa proxy_pass 后加 / 例如: http://192.168.1.1:81/test/aa/ http://192.168.1.1:81/test/aa//bb拼接的后缀为:/bb/test/aa proxy_pass 后不加 / 例如: http://192.168.1.1:81 http://192.168.1.1:81/test/aa/bb拼接的后缀为全部:/test/aa/bb/test/aa/ proxy_pass 后加 / 例如: http://192.168.1.1:81/ http://192.168.1.1:81/bb拼接的后缀为:bb/test/aa/ proxy_pass 后添不加 / 例如: http://192.168.1.1:81 http://192.168.1.1:81/test/aa/bb拼接的后缀为全部:/test/aa/bb

如果请求地址为:http://192.168.1.123/test/aabb,location 为: /test/aa,后缀是:bb,proxy_pass 端口后面要加 /。

2.2、个人理解

        我们通常发送的http请求,端口号之后的为 uri,这个 uri 和 location 后面的进行匹配,多余的部分在本文中称之为后缀。如果 proxy_pass 的端口后面没有/,就在 proxy_pass 后面拼接uri;如果 proxy_pass 的端口后面有/,就拼接这个后缀。

注意:我们看的是 proxy_pass 中端口后面有没有加/,而不是结尾加没加 /。

3、总结

        本文详细介绍了 nginx 的 location  的配置规则,静态资源和代理配置加不加 / 的示例展示,掌握到此,可以基本实现 nginx 的开发使用要求。

        本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: