Nginx 配置里容易踩的几个坑

2026-10-11

整理几个改配置时踩过的坑,都是那种看文档觉得懂、实际用起来才发现的。

proxy_pass 结尾的斜杠

带不带斜杠,路径拼接行为完全不同:

proxy_pass http://backend;      # 保留 uri
proxy_pass http://backend/;     # 截掉 location 前缀

很多 404 都是这里写错了。

try_files 的顺序

try_files $uri $uri/ /index.html; 里 $uri/ 会触发目录索引,如果后面没有兜底,容易出现奇怪的重定向。

location 的匹配优先级

= 精确匹配最高,其次是 ^~ 前缀且不再检查正则,然后才是正则,最后是普通前缀。^~ 用对了能避免一堆正则冲突。

日志里的 upstream 耗时

自定义 log_format 加上 $upstream_response_time 和 $request_time,排查慢请求时非常有用。

← 返回首页