排查一个客户的上线配置,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 初始化脚本都过一遍。上线检查表里加这一条,比出事之后回滚便宜得多。