--- nginx匹配实例 location匹配场景实战(常用的url映射转发)。 --- # 简介 作为全栈开发人员最苦恼的莫属要学的东西太过于庞杂,像我这种记性对正则表达式这种复杂规则直接免疫,今天搞懂下周就忘个干净,nginx匹配规则也是有各种复杂场景,这里我只是记录匹配规则实例,不再讲解匹配规则,因为根据场景找到url映射转发就能达到目的。 ## 1. 请求结尾加上.html后缀的页面 匹配规则: 请求url: xxx.com/oauthlogin/qq 实际返回: /alidata/docker/blog_jar/html/web/oauthlogin/qq.html ```properties location /oauthlogin/qq { alias /alidata/docker/blog_jar/html/web/oauthlogin/; try_files qq.html /qq.html; } ``` ## 2.请求web目录下的页面 注意: - location ^~ /web/,最后有/ - root匹配 匹配规则: 请求url: xxx.com/web/tian.html 实际返回: /alidata/docker/blog_jar/html/web/tian.html ```properties location ^~ /web/{ root /alidata/docker/blog_jar/html/; } ``` ## 3.请求sys目录下的index.html 注意: - location ^~ /sys,最后没有/ - alias匹配 匹配规则: 请求url: xxx.com/sys 实际返回: /alidata/docker/blog_jar/html/sys/index.html ```properties location ^~ /sys { alias /alidata/docker/blog_jar/html/sys/; index index.html; } ``` ## 4.实际请求spring rest接口不包含api 注意: - location ^~ /sys,最后没有/ - alias匹配 匹配规则: 请求url: xxx.com/api/querylist 实际请求spring rest接口: @GetMapping("/querylist") ```properties location /api/ { proxy_pass http://www.codingyun.com/; include proxy.conf; } ``` ## 5.请求jpg文件 注意: - location /cloud/,最后有/ - alias匹配,最后有/ 匹配规则: 请求url: xxx.com/cloud/word/hao.jpg 实际返回文件路径: /alidata/cloudDisk/word/hao.jpg 限速200k 防盗链,只有来源是codingyun.com的才可以访问文件,否则返回403错误 ```properties location /cloud/{ alias /alidata/cloudDisk/; limit_rate 200k; valid_referers none blocked *.codingyun.com codingyun.com; if ($invalid_referer) { return 403; } } ``` ## 持续更新中。。。
打赏
  • 微信
  • 支付宝

评论
来发评论吧~