1️⃣ 背景
CNAME 用于将一个域名指向另一个域名,常用于:
- 测试环境(test.yourdomain.com → prod.yourdomain.com)
- CDN / DDoS 加速
- 多域名统一指向同一站点
注意:CNAME 只是 DNS 解析层面的重定向,访问站点时仍然要处理 Host Header、HTTPS 等问题。
2️⃣ DNS 配置
假设我们有两个域名:
| 域名 | 类型 | 指向 |
|---|---|---|
| test.yourdomain.com | CNAME | www.yourdomain.com |
| www.yourdomain.com | A | 服务器 IP,例如 1.2.3.4 |
步骤:
- 登录你的 DNS 提供商控制台。
- 新建一条 CNAME 记录:
- 主机名:
test - 类型:
CNAME - 值:
www.yourdomain.com - TTL:默认或 300 秒
- 主机名:
- 保存并等待解析生效(一般几分钟到 1 小时)。
3️⃣ 服务器配置(Host Header)
如果你 CNAME 到 www.yourdomain.com,服务器必须允许新的域名访问。
Nginx 示例:
server {
listen 80;
server_name www.yourdomain.com test.yourdomain.com;
root /var/www/html;
location / {
try_files $uri $uri/ /index.html;
}
}
如果使用 HTTPS,也需要在 server_name 中添加新的域名,并配置证书。
4️⃣ HTTPS 配置
CNAME 域名默认不会继承原域名的 SSL 证书。
你需要为新的域名申请证书:
使用 Let’s Encrypt(Certbot):
sudo certbot --nginx -d test.yourdomain.com
- Certbot 会自动修改 Nginx 配置并启用 HTTPS。
- 完成后访问
https://test.yourdomain.com即可。
5️⃣ CDN / DDoS 加速注意事项
如果你的站点使用 CDN(阿里云 DCDN、Cloudflare 等):
- 确认 CDN 配置中允许新的 CNAME 域名。
- 否则访问可能直接报错或无法解析。
- 对于国内外访问不同源站的场景,需要在 CDN 或 GTM(全局流量管理)中额外配置新的域名。
6️⃣ Cookie / Session 处理
- 如果应用依赖 Cookie 保存登录状态,需确保域名匹配:
Set-Cookie: sessionid=xxxx; Domain=.yourdomain.com
- 这样
test.yourdomain.com和www.yourdomain.com可以共享 Cookie。
7️⃣ 测试流程
ping test.yourdomain.com→ 应该解析到www.yourdomain.com的 IP。- 浏览器访问
http://test.yourdomain.com→ 自动跳转或访问正常。 - 浏览器访问
https://test.yourdomain.com→ HTTPS 不报错。 - 如果使用 CDN / GTM,多区域访问测试国内/海外访问效果。
🔹 总结
- DNS:CNAME 指向目标域名。
- 服务器:Host Header 支持新的域名。
- HTTPS:为新的域名单独申请证书。
- CDN / DDoS:确认新域名允许通过。
- Cookie / Session:域名匹配或跨域处理。
3万+

被折叠的 条评论
为什么被折叠?



