欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 运维知识 > nginx >内容正文

nginx

nginx location匹配优先级-凯发k8官方网

发布时间:2024/10/8 nginx 0 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 nginx location匹配优先级_一分钟搞清楚:nginx之location优先级 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

location表达式类型

  • ~ 表示执行一个正则匹配,区分大小写
  • ~* 表示执行一个正则匹配,不区分大小写
  • ^~ 表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location
  • = 进行普通字符精确匹配。也就是完全匹配

location优先级

在nginx的location和配置中location的顺序没有太大关系,与location表达式的类型有关。相同类型的表达式,字符串长的会优先匹配。以下是按优先级排列说明:
  • 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
  • ^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
  • 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
  • 常规字符串匹配类型。按前缀匹配。
  • 示例

    配置项如下:

    location = / {
    # 仅仅匹配请求 /
    [ configuration a ]
    }
    location / {
    # 匹配所有以 / 开头的请求。
    # 但是如果有更长的同类型的表达式,则选择更长的表达式。
    # 如果有正则表达式可以匹配,则优先匹配正则表达式。
    [ configuration b ]
    }
    location /documents/ {
    # 匹配所有以 /documents/ 开头的请求。
    # 但是如果有更长的同类型的表达式,则选择更长的表达式。
    # 如果有正则表达式可以匹配,则优先匹配正则表达式。
    [ configuration c ]
    }
    location ^~ /images/ {
    # 匹配所有以 /images/ 开头的表达式,如果匹配成功,则停止匹配查找。
    # 所以,即便有符合的正则表达式location,也不会被使用
    [ configuration d ]
    }
    location ~* \.(gif|jpg|jpeg)$ {
    # 匹配所有以 gif jpg jpeg结尾的请求。
    # 但是 以 /images/开头的请求,将使用 configuration d
    [ configuration e ]
    }请求匹配示例:/ -> configuration a
    /index.html -> configuration b
    /documents/document.html -> configuration c
    /images/1.gif -> configuration d
    /documents/1.jpg -> configuration e以上的匹配和在配置文件中定义的顺序无关。另附上nginx配置文件超全配置详情(实用建议收藏):点击获取收藏!

    推荐阅读

    • dataflux 采集 nginx 监控指标
    • 高并发下nginx调优实战
    • nginx配置文件nginx.conf详解
    • 六大接口管理平台,总有一款适合你的!
    长按,扫码,关注及时收看更多精彩内容

    总结

    以上是凯发k8官方网为你收集整理的nginx location匹配优先级_一分钟搞清楚:nginx之location优先级的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图