Nginx Directives Explain

Nginx 指令详解

location

正则表达式:依次匹配,位置优先;URI:从左匹配,长度优先;先正则、后 URI。正则表达式支持括号捕获。

语法

location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }

修饰符 

修饰符 示例 匹配 (URI)
= location = / { } 精确匹配 / 请求,最优先
^~ location ^~ /priority { } 优先以下修饰符,匹配 /priority 开始的请求
~* location ~* \.(gif|jpg|jpeg)$ { } 正则匹配图片扩展名结尾请求,大小写敏感
~ 正则表达式,忽略大小写
location /normal { } 匹配 /normal 开始的请求 
@name location @name {} 命名为 @name 的跳转规则(组), try_files 指令用到

proxy_pass

WebSocket

1.3.13 起支持反向代理 WebSocket。

http {
    # 根据 Upgrade 值设置 Connection
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    server {
        

        location /chat/ {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

try_files

Author: njun
njun's picture
Updated: 2020/09/30