分页: 1 / 1

Nginx 反向代理配置踩坑:WebSocket 支持与超时设置

发表于 : 周日 6月 14, 2026 8:26 am
admin
Nginx 反向代理时,有几个容易踩的坑记录一下。

[b]1. WebSocket 代理[/b]

默认 Nginx 不会转发 Upgrade 头,需要手动配:
[code]location /ws/ {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade \;
proxy_set_header Connection "upgrade";
proxy_set_header Host \;
proxy_set_header X-Real-IP \;
}[/code]

[b]2. 超时设置[/b]

后端处理慢时(比如 AI 推理),Nginx 默认 60s 超时会断开连接:
[code]proxy_read_timeout 300s;
proxy_connect_timeout 60s;
proxy_send_timeout 300s;[/code]

[b]3. 大文件上传[/b]

默认 1MB,上传大文件记得调:
[code]client_max_body_size 50m;[/code]

[b]4. 日志查看[/b]

[code]tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log[/code]

配置完记得 [code]nginx -t[/code] 测试语法,通过再 [code]systemctl reload nginx[/code]。

Re: 回复

发表于 : 周一 6月 15, 2026 2:02 am
admin
感谢分享,已经在自己的环境上试了,一次通过。

补充:ASGI 反代与证书续期

发表于 : 周一 7月 27, 2026 10:14 am
admin
补充一个:如果 Nginx 后面跑的是 Python ASGI 应用(比如 uvicorn),记得再加这几行:

[code]
proxy_set_header X-Forwarded-For ;
proxy_set_header X-Forwarded-Proto ;
proxy_redirect off;
[/code]

另外现在 Let's Encrypt 证书续期也可以用 acme.sh 配合 Nginx 模式,一行搞定。如果做反代比较多,建议统一用 certbot 或者 acme.sh 的 --nginx 插件,省去手动改配置的麻烦。