You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置NGINX实现CNAME记录的URL掩码

解决CNAME指向后地址栏域名变更的问题

哥们,我来帮你搞定这个问题!你遇到的核心问题是DNS的CNAME指向没问题,但NGINX的重定向或配置逻辑导致浏览器地址栏跳转到了新域名,下面一步步给你排查和解决:

问题根源分析

CNAME只是DNS层面的域名映射,浏览器解析到新域名的IP后,后续的请求处理完全由NGINX控制。地址栏变了,大概率是你的NGINX配置里有重定向到新域名的逻辑,或者没有正确保留原始请求的域名。

修正NGINX配置

1. 先修复HTTP(80端口)的重定向配置

你原来的默认server用了_作为server_name,还返回http_host(注意HTTP应该重定向到HTTPS),这可能导致域名被替换。改成明确包含两个域名,并用$host保留原始请求域名:

server {
    listen 80;
    server_name api.oldserver.com api.newserver.com;
    # 重定向到HTTPS,保留原域名和请求路径
    return 301 https://$host$request_uri;
}

2. 确保HTTPS server配置同时支持两个域名

你的多域名SSL证书已经覆盖了两个域名,现在要让NGINX用同一个server块处理两个域名的请求,并且不要做任何不必要的重定向:

server {
    listen 443 ssl;
    # 同时声明两个域名,NGINX会匹配用户请求的原始域名
    server_name api.oldserver.com api.newserver.com;

    # 你的多域名证书路径
    ssl_certificate /path/to/your/multi-domain-cert.pem;
    ssl_certificate_key /path/to/your/private-key.pem;

    # 基础SSL优化配置(可选但推荐)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # 反向代理到后端服务的核心配置
    location / {
        proxy_pass http://your-backend-service; # 替换成你的后端地址
        # 关键:把用户请求的原始Host头传给后端,避免后端返回新域名跳转
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

关键注意事项

  • 用$host而不是硬编码域名:$host会自动获取用户请求的原始域名(不管是api.oldserver.com还是api.newserver.com),确保重定向和代理时都保留原域名。
  • 检查后端服务的重定向逻辑:如果后端服务本身有强制跳转到api.newserver.com的配置,那即使NGINX配置对了,地址栏还是会变。需要修改后端的域名配置,或者在NGINX里添加proxy_redirect指令拦截后端的跳转:
    # 如果后端返回api.newserver.com的跳转,替换成原请求的域名
    proxy_redirect https://api.newserver.com/ https://$host/;
    
  • 清除浏览器缓存:之前的错误重定向可能被浏览器缓存了,建议用隐私模式测试新配置是否生效。
  • 验证DNS解析:用nslookup api.oldserver.com确认解析到的是api.newserver.com的IP,且没有旧的A记录残留(可以调低DNS TTL加速生效)。

测试步骤

  1. 重启NGINX:sudo nginx -s reload(先检查配置语法:sudo nginx -t)
  2. 用隐私模式访问https://api.oldserver.com,观察地址栏是否保留原域名
  3. 检查浏览器控制台的网络请求,确认没有不必要的301/302重定向

内容的提问来源于stack exchange,提问作者CESCO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:56:44