备案下来之后:nginx 上给静态主页挂备案编号
2026-10-09
我的域名 jhfyl.xyz(子域 jz / mc.jhfyl.xyz,服务器
120.26.91.35)2026-10-09 拿到 ICP 备案号。通过之后跟着几条硬义务,第一条就是挂号。
规定要求的是"主页底部中央"
- 《非经营性互联网信息服务备案管理办法》第十三条:主页底部中央标明备案编号,
编号下方链接工信部系统
https://beian.miit.gov.cn; - 第二十五条:不挂 → 省通信管理局责令改正,并处 5000~10000 元罚款;
- 别忘另一条:依据公安部令第 32 号,网站开通之日起 30 日内到
https://beian.mps.gov.cn/提交公安联网备案,ICP 号是它的前置条件; - 编号照抄云服务"备案信息"页那一行,末尾的
-1也要一起抄;号码本身我只放在 私有配置里,由脚本渲染到页面上,这里不贴。
难点:我的根路径当时不是"主页"
两个域名的 / 原本是一条 return 301,跳到自用服务的登录页 ——
审查时那不算主页。做法是 / 换成一张中性静态页,其它路径一个字不动:
location = / {
root /var/www/beian/jz; # mc 站是 /var/www/beian/mc
try_files /index.html =404;
default_type text/html;
add_header Cache-Control "no-store"; # 改了页不希望审查时拿到缓存旧版
}
坑在这里:我先前写的 alias /var/www/beian/jz/index.html; 实测直接 500 ——
location = / 配 alias 指到单个文件会和 index 模块打架。换成上面
root + try_files 直接命中文件、不触发内部重定向就正常了。
动线上 nginx 的脚本,我要求它幂等且能自动回滚
bash tools/deploy-beian-page.sh --check # 只读体检:配置全不全、线上挂没挂
bash tools/deploy-beian-page.sh # 渲染 → 上传 → 同步 nginx → reload → 自检
bash tools/deploy-beian-page.sh --revert # 出事:还原到最近一次备份
- 覆盖 conf 前先在服务器留
*.bak-beian-<时间戳>; nginx -t不过、或自检在主页上抓不到编号 → 自动还原备份并 reload;- 重跑只会重写同一张页面,不会越跑越乱。
自查命令(别只信浏览器)
curl -sk https://jz.jhfyl.xyz/ | grep -E 'ICP备|beian\.miit\.gov\.cn'
curl -sk -o /dev/null -w '%{http_code}\n' https://mc.jhfyl.xyz/
nginx -t && systemctl reload nginx
顺带记一条:reload 是优雅切换,返回后第一个请求可能仍落在旧 worker,
1 秒内才稳定到新配置,别误判成"回滚失败"。
内容与备案相符,比挂号更容易被忽略
备案填的《网站名称》是"生活记录",主页标题就必须是它。个人备案对名称卡得死, 带交互或行业属性的词基本过不去,我选的就是最中性那种。接入商和管局都会核查内容, "网站实际内容与备案不符"是可以撤销备案的 —— 所以这个站上只放我自己整理的技术记录, 编号按法规只挂在主页底部,子页不重复挂。