域名解析与 CDN 接入避坑
解析怎么加
最简单的形式,两条 A 记录:
| 主机记录 | 类型 | 记录值 | 说明 |
|---|---|---|---|
@ |
A | 服务器公网 IP | 裸域名 |
www |
A | 服务器公网 IP | 带 www |
加完用命令确认一下,别只靠浏览器(浏览器有自己的 DNS 缓存):
dig +short yourdomain.com
nslookup yourdomain.com 8.8.8.8
解析对了还是打不开
按这个顺序查,基本一次能定位:
- 安全组:云厂商控制台里 80/443 端口是否放行——这是最常见的原因
- 防火墙:
sudo ufw status,或者面板里的安全设置 - 站点绑定:Nginx 站点里是否绑定了这个域名
- 备案:国内服务器没备案,80 端口会被运营商拦截
CDN 带来的三个坑
套 CDN 之后如果出现下面这些症状,对应关系是固定的:
:::danger 支付回调收不到
CDN 会拦截或改写回调请求。回调地址必须解析到源站,做法是给回调单独一个子域名(比如 pay.yourdomain.com)并且这条记录不接入 CDN。
:::
:::warning 验证码一直提示错误
CDN 缓存了验证码图片,所有人拿到的是同一张。在 CDN 控制台把 /captcha 这类路径设为不缓存。
:::
:::info 后台看到的访客 IP 全是同一个 那是 CDN 节点的 IP。需要在 Nginx 里还原真实 IP:
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
:::
一份接入前的检查清单
- 静态资源目录(
/assets)设为缓存 - 动态路径(
/admin、/user、/api)设为不缓存 - 支付回调域名不走 CDN
- 回源协议与站点协议一致(都用 HTTPS)
最后一项如果不一致,会出现无限重定向。
评论 0