zoukankan      html  css  js  c++  java
  • nginx配置-location

    • 以 =开头表示精确匹配
      如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
    • ^~ 开头表示uri以某个常规字符串开头,不是正则匹配
    • ~ 开头表示区分大小写的正则匹配;
    • ~* 开头表示不区分大小写的正则匹配
    • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到

    顺序优先级:

    (location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)

     测试:

    1.

            location = /api {
              #精确匹配
              return 402;
            }
        
            location /api {
                # 匹配任何以 /api 开头的地址,匹配符合以后,还要继续往下搜索
                # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
                return 403;
            }

    请求http://localhost:8090/api, 返回:402 Payment Required

    请求http://localhost:8090/api/a,返回:403 Forbidden

    (location =) > (location 完整路径)

    2.

            location ^~ /api/ {
                # 匹配任何以 /api/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
                return 401;
            }
            
            location /api {
                return 403;
            }

    注意这里 location ^~ /api/ 和 location /api  不能相同,若 location /api 改成 location /api/,启动会报错,nginx: [emerg] duplicate location "/api/"

    请求http://localhost:8090/api, 返回:403 Forbidden

    请求http://localhost:8090/api/a,返回:401 Authorization Required

     (location 完整路径) > (location ^~ 路径)

    3.

            location ^~ /api/ {
                # 匹配任何以 /api/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
                return 401;
            }
            
            location ~ .(gif|jpg|jpeg)$ {
    
                return 405 ;
            }

    请求http://localhost:8090/api/a.jpg, 返回:401 Authorization Required

    请求http://localhost:8090/aa/a.jpg,返回:405 Not Allowed

     (location ^~ 路径) > (location ~,~* 正则顺序) 

    欢迎扫码交流:

     
  • 相关阅读:
    fatal: HttpRequestException encountered解决方法
    es进行聚合操作时提示Fielddata is disabled on text fields by default
    scrapy+mongodb报错 TypeError: name must be an instance of str
    运行scrapy保存图片,报错ValueError: Missing scheme in request url: h
    yii框架基本操作
    jQuery 获取屏幕高度、宽度
    ajax xmlhttprequest status
    php——composer 1、安装使用
    php 钩子函数原理 解析
    curl http_code状态码 含义
  • 原文地址:https://www.cnblogs.com/gexiaoshan/p/10219844.html
Copyright © 2011-2022 走看看