zoukankan      html  css  js  c++  java
  • Nginx 配置 Location 规则优先级问题

    nginx 的 location与配置中 location 顺序没有关系,与 location 表达式的类型有关。相同类型的表达式,字符串长的会优先匹配。

    以下是按优先级排列说明:

    • 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
    • ^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
    • 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
    • 常规字符串匹配类型。按前缀匹配。
    location ^~ /static/ { 
    # 匹配任何以 /static/ 开头的地址,一旦匹配成功,则不再查找其他匹配项。
       root /opt/web/;
    }
    
    location /static/ {
      # 匹配任何以 /static/ 开头的地址,匹配符合以后,还要继续往下搜索
    }
    我的环境是有一个 spring boot 的项目,默认使用jar包运行,静态资源由 spring 配置的路由管理,现在只要加一个静态服务器(服务器需要存在 static 目录,或者 配置两个 server 使用不同的域名)
    server {
            listen 80;
            server_name web.xxx.com;
            location ^~ /static/ {
                root /opt/web/;
            }
            location / {
                proxy_pass http://127.0.0.1:5000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Host $host:80;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Via "nginx";
            }
    }
    #静态页面
    location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { 
            root /opt/web/;
            expires 1d; 
    }

    REFER:
    https://www.cnblogs.com/linjiqin/p/5532119.html

    http://blog.csdn.net/xy2204/article/details/47749405
  • 相关阅读:
    OpenJDK与HashMap
    跨终端Web之Hybrid App
    Java日志性能
    openstack
    Hadoop下各技术应用场景
    股票基金看哪些书
    Java内存模型的历史变迁
    浅谈JS DDoS攻击原理与防御
    清除Windows 10的文件夹浏览痕迹
    linux删除文件后没有释放空间
  • 原文地址:https://www.cnblogs.com/Irving/p/7808868.html
Copyright © 2011-2022 走看看