记域名备案被注销后的9个小时

Posted gudao119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记域名备案被注销后的9个小时相关的知识,希望对你有一定的参考价值。

收到通知

7月6日下午收到运维转告公司收到ICP的邮件,告知公司主站已被注销,该站的备案号已被收回。收到通知的那一刻就傻了,这意味这上百个子域名将被停用,紧接着就发现部分网站已经开始出现TestPage 184的提示。
技术图片

更换域名

第一时间想到的是更换域名,被注销的域名是xxx.com,公司名下还有一个xxx.cn的域名备案正常。于是开始购买 cn 域名的 SSL 证书,先把用户无感知的一些后台服务换成了 *.xxx.cn 的子域名。更换的过程中发现好多代码中硬编码了好多域名进去,于是召集研发排查硬编码的域名并更换。

CNAME 的诱惑

域名换了几个发现进度太慢,距离被注销已经1个小时了,发现原有域名下的 CDN 服务并没有失效,难道是因为阿里云的 DNS 只是屏蔽了主域名,增加一层 CNAME 就绕过去了?怀着侥幸心理,把一个 yyy.xxx.com CNAME 的记录改为了 yyy.xxx.cn 并将 yyy.xxx.cn 的 A 记录改为了源站的IP。结果是竟然可以了,暗自窃喜了10分钟后,访问 yyy.xxx.com 发现网站又是 TestPage 184了。

无奈之举,境外服务器

CNAME 方法失败后开始反思,可选的方案有两种:

  1. 更换域名
  2. 原有域名解析到境外服务器

两种方案的优劣比较:

方案 优势 劣势
解析境外 配置简单、业务影响小 访问速度慢、非长久之计,后期需要再调整回来
更换域名 风险小、可长久使用 配置繁琐、业务影响大

综合考虑后还是决定解析至境外的服务器,并用nginx反向代理回境内服务器上。需要做的就是:

  • 购买新加坡节点的服务器,安装 Nginx ,配置反向代理。
  • 解析原有域名至新加坡服务器的IP。

下面列出一个站点的 Nginx 配置:

server {
    listen 443 ssl;
    server_name libraryplus.api.xxx.com photo.api.xxx.com;
    root html;
    index index.html index.htm;
    ssl_certificate   /etc/nginx/api.xxx.com.pem;
    ssl_certificate_key  /etc/nginx/api.xxx.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers RC4:HIGH:!aNULL:!MD5;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    client_max_body_size   1024m;
    location / {
            proxy_pass http://39.107.253.80:80;
            proxy_redirect  off;
             if ( $host ~* (.*).com )
            {
                set $host_my $1;
            }
            proxy_set_header  Host  $host_my.cn;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

其中需要强调的一个地方是 proxy_set_header Host 的配置。因为原有域名是被阿里云的防火墙过滤的,如果不修改回源的 Host 的话,即使 DNS 可以逃脱,内容还是会被拦截的。所以 Host 改为一个已备案的域名就可以了,上面我通过正则批量改成了 .cn ,对应的要在后端的web服务器上做对应的修改,如 IIS 里要在站点的网站绑定里添加对应 cn 域名的主机头。
至此,在7日的凌晨3点把120多个子网站全部配置完成,客户感知的最长宕机时间为9个小时...

恢复操作

9日下午收到ICP的备案通过邮件,告知备案已通过,域名可以在7小时内生效。(正常的审核速度应该是7-14个工作日,后来才得知,注销和再次审核通过都是有背后操作的。)
从境外的撤离操作就简单很多,业务站点几乎不用动,只要把域名的 DNS 重新解析回原来的IP就可以了,web站点绑定的备用域名主机头可以删了,境外服务器也可以释放了。




以上是关于记域名备案被注销后的9个小时的主要内容,如果未能解决你的问题,请参考以下文章

阿里云网站备案注销新规则

国内免备案支持301跳转防止域名被墙

更换ip地址后服务器中的网站域名怎么重新解析指向新的ip啊

域名解析后网站为啥还不能访问

国内免备案服务器哪家好

20210608记第一次申请域名