码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-07-11 00:09:32      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:imageview   web服务器   off   lazy   protocol   size   域名解析   增加   通知   

收到通知

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个小时

标签:imageview   web服务器   off   lazy   protocol   size   域名解析   增加   通知   

原文地址:https://www.cnblogs.com/gudao119/p/13281983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!