排查一个客户的上线配置,nginx 里写着 server_name xyz.com,问他这是哪个域名,他说是照着文档抄的,忘了改。这种占位域名在教程里到处都是,真跑到生产上就是事故。
它是个真实存在的域名
xyz.com 注册在 .xyz 这个新顶级域下,2014 年开放注册,注册量一度很大。它同时也是技术文档里常见的示例域名,和 example.com、foo.com 一样,用来代替真实业务域名。教程里出现它,意思就是这里该填你自己的域名。
浏览器打开会看到什么
直接访问 xyz.com,可能跳到一个停放页或者域名出售页,也可能被运营商、安全软件拦掉。这不是你服务器的问题,是域名本身的解析指向了别人的服务器。ping 出来的 IP 和你机房完全无关,就说明请求根本没到你这。
配置文件里留着它的后果
- nginx:server_name 不匹配,请求落到 default_server,显示欢迎页或 404。
- 邮件:SMTP 域名写成 xyz.com,发信容易被判为伪造,直接进垃圾箱。
- 证书:给 xyz.com 申请证书签不下来,域名不在你名下,验证过不去。
换成自己的域名要改哪几处
先把 A 记录指到服务器 IP,确认备案状态。然后改 nginx 的 server_name 和证书路径,改应用里的 base_url、支付回调地址,改邮件模板里的链接。数据库里存死的域名也得刷一遍。改完用 curl -I 带 Host 头验证,别只看浏览器缓存。
怎么快速找出占位值
全局搜 xyz.com、example.com、localhost、127.0.0.1 这几个词,配置文件、前端打包产物、SQL 初始化脚本都过一遍。上线检查表里加这一条,比出事之后回滚便宜得多。