Nginx 核心配置知识点速查
# Nginx 核心配置知识点速查
# 1. 核心指令:反向代理 (proxy_pass)
这是 Nginx 最强大的功能,将外部请求转发给内部服务。
- 基本语法:
proxy_pass http://127.0.0.1:端口; - 关键点:
- 如果后端服务开启了 SSL,则需使用
https://。 - 透传真实 IP:为了让后端服务(如 x-ui)知道是谁在访问,必须添加 Header:
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;1
2
- 如果后端服务开启了 SSL,则需使用
# 2. 匹配规则:路径分流 (location)
Nginx 根据 URL 路径决定把请求给谁。
- 根目录匹配:
location / { ... }匹配所有请求。 - 精确路径匹配:
location /secret-path/ { ... }只有访问该特定路径才生效。 - 优先级:精确匹配 > 模糊匹配。伪装技巧就是通过根目录
return 301踢走无关人员。
# 3. 服务器块:多域名/多 IP 管理 (server)
listen:监听端口。80为 HTTP,443为 HTTPS。server_name:匹配请求的域名。_(下划线):匹配所有未定义的域名或直接通过 IP 的访问。xm.stm.monster:精准匹配该域名。
# 4. 状态码重定向 (return)
return 301:永久重定向。浏览器会缓存这个跳转,对 SEO 友好,常用于全站跳转。return 302:临时重定向。
# 5. HTTPS 必备设置
一旦使用 443 端口,必须配置证书:
ssl_certificate:.crt或.pem证书文件路径。ssl_certificate_key:.key私钥文件路径。- 安全 Tip:如果反代的是本地服务(127.0.0.1)且自签了证书,记得加上
proxy_ssl_verify off;避免 502 错误。
# 平时运维的高频命令
| 命令 | 作用 | 备注 |
|---|---|---|
sudo nginx -t | 语法检查 | 改完配置必做! 防止因格式错误导致 Nginx 崩溃。 |
sudo systemctl reload nginx | 平滑重载 | 仅加载新配置,不中断当前已有连接(推荐)。 |
sudo systemctl restart nginx | 强制重启 | 彻底杀掉进程重新启动。 |
tail -f /var/log/nginx/error.log | 查看错误日志 | 访问报 502 或 403 时,这里有真相。 |
# 避坑指南总结
- 分号:每一行配置末尾必须带分号
;,否则nginx -t会报错。 - 括号:每一个
server和location的大括号{ }必须成对出现。 - 权限:如果你的证书放在
/root/目录下,确保 Nginx 用户有权限读取,或者像你刚才那样给文件设置好路径权限。
有了这份整理,下次你想给服务器增加新功能(比如挂载一个新网站或新代理)时,只需照着 server 和 location 的模板改写即可。再次恭喜你完成配置
上次更新: 2026/04/24, 17:58:52
- 02
- VisiData 终极生存指南(vd)04-27
- 03
- macOS 定时任务实现:Git 仓库状态自动同步方案04-26