nginx-guide
Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。其因具有占有内存少、并发能力强等特点,在云原生和互联网架构中得到了极其广泛的应用。
2. 核心配置示例
Section titled “2. 核心配置示例”2.1. 反向代理配置
Section titled “2.1. 反向代理配置”将匹配到的特定 URL 路由请求转发至后端应用服务器(例如本地的 8080 端口):
location /test1 { proxy_pass http://127.0.0.1:8080;
# 常用请求头透传配置 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;}2.2. 静态文件代理
Section titled “2.2. 静态文件代理”配置静态资源根目录,支持高效的文件读取:
location /static/ { alias /var/www/static/; expires 30d; access_log off;}2.3. WebSocket / WSS 配置
Section titled “2.3. WebSocket / WSS 配置”若需要支持 WebSocket 协议转发,需显式升级 Connection 和 Upgrade 请求头:
location /ws { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host;}3. 拓展信息
Section titled “3. 拓展信息”3.1. Location 匹配规则与优先级
Section titled “3.1. Location 匹配规则与优先级”Nginx 依靠 location 指令匹配请求的 URI,以下是匹配规则的优先级顺序及原理图解:
location = /uri:精确匹配。location ^~ /uri:前缀匹配,一旦匹配成功,停止往下搜索正则匹配。location ~ pattern:区分大小写的正则匹配。location ~* pattern:不区分大小写的正则匹配。location /uri:通用前缀匹配。
