上线自检 + nginx 配置生成器

nginx -t 通过,不代表网站能打开。 我们出过一次全站不可用的事故:语法检查全绿,但精确 location 的 301 和 try_files 互相重定向,浏览器直接报"重定向次数过多"。 这个工具给你两样东西:一份 nginx 配置骨架(坑都写在注释里),一份真实 HTTP 自检脚本(不只看语法,看状态码和跳数)。

免费 · 无需登录 本地生成 · 内容不上传 对应事故 · 重定向死循环全站打不开

1站点信息

2要自检的路径

一行一个。首页一定要有,二级页至少各来一个。

3防护开关

输出 1上线自检脚本

0 行
—
部署完跑一次:bash deploy-check.sh。全绿才算上线完成。

输出 2nginx 配置片段

0 行
—
改完:nginx -t → systemctl reload nginx → 再跑上面的自检脚本。语法通过不等于网站能打开。

清单上线前必做的 8 件事

这个坑我们踩过

1 · 精确 location + 301 造成死循环。写一个 location = /path { return 301 …; },而 try_files 又把请求内部重定向回同一个 location,浏览器报"重定向次数过多",全站打不开。nginx -t 完全查不出来。

2 · 长缓存 + 无版本号 = 改动"看似不生效"。同一个坑我们连踩三次(CSS 两次、JS 一次)。规则很简单:设了 expires,就必须给 css/js 加 ?v=;改一次,升一次。

3 · <base href> 必须在所有相对资源之前。写在 <link> 之后,二级页会把 CSS 解析到错误目录,样式静默失效——一级页完全看不出来。

4 · 后台数据别放 basic auth 后面给 fetch 用。浏览器对子请求的凭据缓存不可控,页面会永远卡在"加载中"。改成"页面登录 + 数据带密钥参数"。

5 · 本机代理制造假警报。判断站点是否在线一律加 --noproxy '*';我们曾把代理返回的 410 误判成"站点挂了",实际是 200。