最后更新时间:2026-09-22 19:03:37
把 VVCMS 挂在 Nginx / CDN 后面,或者启用 HTTPS 之后,有两个开关必须按实际情况调整。不改不一定立刻报错,但会在特定场景下出很难排查的问题。
后台「安全配置」里的 auth_guard_trust_proxy 决定系统是否采信 X-Forwarded-For / X-Real-IP。
| 部署方式 | 应该设为 | 设错的后果 |
|---|---|---|
| 直连(直接暴露端口) | false | 开成 true 时,攻击者可伪造该头部绕过失败锁定 |
| 有 Nginx / CDN 等反向代理 | true | 不设 true 时所有请求的来源 IP 都是代理机,一个人输错密码,全站所有人一起被锁 |
判断标准只有一条:前面有没有反向代理。
光打开开关还不够,Nginx 侧必须真的把客户端 IP 传过来,否则开关读到的是空值:
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;MCP 自带 DNS rebinding 防护,对应配置项 disable_localhost_protection,默认 false(保留防护)。
行为是:如果服务监听在本机回环地址,但请求的 Host 头是外部域名,MCP 会直接返回 403。
| 场景 | 建议 |
|---|---|
| 通过反向代理以域名访问 MCP | 设为 true,否则一直 403 |
| 服务暴露在浏览器可访问的网络中 | 保持 false,这是防 DNS rebinding 的关键 |
如果你遇到「本地 curl 正常,走域名就被 403」,基本就是这一条。
client_max_body_size 要相应调大,否则文件还没到应用就被拒了,表现为「上传失败」但应用日志里没有记录。/static/ 可以设置较长缓存,但改了主题静态文件后要记得刷新,否则前台还是旧样式。auth_guard_trust_proxy 与部署方式匹配。