IT 相关 · 2021 年 1 月 23 日

域名被阻断的应急解决方案

域名被阻断的应急解决方案
网站备案被注销导致无法访问

近期有小伙伴的域名备案被注销导致域名被阻断,随之业务受到影响,问我有什么办法能够解决。遇到这种 「不可抗力」 因素只能重新备案以尽快恢复业务,域名备案周期通常需要长达 25 个工作日,小伙伴说他的业务非常重要,想到要等 1 个月以后才能恢复,简直就是一场恶梦。要在短期内恢复业务,通常只有 2 种选择,第 1 种将业务迁移到境外服务器,第 2 种更换已备案的业务域名,但由于业务环境复杂,无论采取哪种方法对业务的影响仍然不小。通过我的尝试得出一套方案可以在不迁移业务又不更换业务域名的情况下恢复业务。

IDC 是如何对域名进行阻断的?

域名被阻断需要及时恢复访问,要突破阻断首先需要了解 IDC 是如何对域名进行阻断的。访问网页时服务器会接收到 host,这个 host 通常就是域名,在数据到达服务器之前一定会通过 IDC 的网关,IDC 在网关部署了类似防火墙的服务对 host 进行过滤,如果 host 是被阻断对象则进行阻断。

如何突破域名阻断?

了解了域名是怎么被阻断的,就知道只要访问时不让 host 经过 IDC 网关即可。首先在服务器建立新站点,该站点绑定可正常访问的域名 (以下称为 A 站点或 A 域名) 。 A 站点反代到被阻断域名站点 (以下称为 B 站点或 B 域名), 切记目标地址不要使用 B 域名,建议使用 127.0.0.1,发送域名填 B 域名。此时访问 A 域名时可正常访问 B 站点,但我们需要访问 B 域名时也能访问,怎么办?

域名被阻断的应急解决方案1
建立新站点并反代到被阻断访问站点

众所周知,域名解析绑定到境外服务器是不需要进行备案的,当然也不会被阻断。经实践测试,将 B 域名解析绑定到境外服务器上,并设置反代到 A 站点后完美突破域名阻断,恢复业务正常进行。

域名被阻断的应急解决方案2
在境外服务器建立站点 B 绑定被阻断域名并反代到 A 站点

相关问答

Q:为什么不直接迁移业务到境外服务器?
A:迁移到境外服务器首先得新购境外服务器,将会有额外开支,同时现有服务器将被闲置造成资源浪费;项目中接入了众多业务域名,一旦迁移则牵一发而动全身,如何保证平滑迁移是一项考验; 从长远来看使用境外服务器不仅成本更大,线路质量和稳定性都远远不如使用境内服务器;综上因单个域名被阻断就把业务迁移到境外显然是不具性价比的。

Q:为什么不更换业务域名?
A:一旦更换业务域名,所有涉及该域名的地方全部需要更换,有些服务短期内可能仍然会有影响,例如更换小域名接口域名需要重新提交审核才能生效,期间业务仍会受到影响。

Q:可否直接在境外服务器部署站点进行反代?
A:直接反代仍然会被拦截阻断,这是由于反代服务器访问源站时仍然使用了被阻断域名的 host 。

Q:可否反代时发送其它域名的 host?
A:如果业务中没有 host 绑定 (例如授权系统通过域名进行授权),可在反代时发送其它域名,可省去建立站点 A 的步骤,站点 A 的作用类似于跳板机。

写在最后

本文提供的思路和解决方案虽然能够应急使用,但境外服务器的访问速度及稳定性不如境内服务器,肯定会影响访问体验,域名没有备案的影响就如同没有身份证,影响面还不止限制接入,所以业务域名一定要维护好备案,比如近期管局要求网站底部规范地添加网站备案号,要及时按照要求添加,千万不可任性,避免备案被注销后导致网站被限制接入的情况。