关于域名备案

今天,我们来聊一聊域名备案的问题

本文主要给各位普及一下域名备案是什么?为什么需要域名备案以及如何备案?备案后对你有何影响?

首先,你要知道域名备案这个事情只在我天朝上国有,在其他国家是不存在的。假设你在国外买了一个域名并且在国外买了一个虚拟主机或服务器建站,是可以直接将域名解析到国外的 IP 地址去访问的。通常这边操作最快在几分钟内完成;但是如果在国内速度就不敢保证了(如果你在国外访问是非常快的),并且随时有可能被隔离在长城防火墙之外,比如现在大部分在使用 linde 的服务器作为 web 服务的就基本已经阵亡了差不多了,甚至连远程 SSH 操作服务器都变得非常困难;你忍受不了速度,想在国内购买服务器搭建网站,比如在阿里云、网易云、腾讯云购买服务器使用,或者说你的服务器只要在中国,只要你的服务器的需要对外提供web服务,就必须首先通过备案后才可以提供服务。

那么为什么你在国外买的服务器跑个网站国内访问就这么慢呢?

这个要分两个方面讲了,第一个是物理上的,由于服务器在国外,从你的电脑访问到国外的服务器这中间要经历层层的路由,需要消耗很多的带宽,因此会比较慢;
第二个是由于墙的存在会干扰国外一些 VPS 厂商的 IP 地址段导致请求慢或无法发送请求到目标 IP 而造成的延迟大。

备案备的是什么?

只要你的 IP 地址在国内,希望通过域名对外提供 web 访问就需要备案,否则无法访问。假设你的域名是www.caonima.com, 公网 IP 地址是12.13.42.4,服务器搭建了个 Apache web 服务器,对外的端口是 http 的默认端口80,那么 如果不备案,通常会被你的服务器提供商的防火墙拦截80端口的流量导致你无法正常访问。服务器会有一个白名单机制,只有你的域名备案有备案号才放行,否则拦截。当然除了80端口会被拦截,8080这种 web 常用端口也会被拦截。而443端口目前不会被拦截,因此如果你不希望备案又想使用 web 服务让网站支持 https 是个不错的选择。

哪些域名可以备案,哪些域名不可以备案

只有天朝审批的域名后缀才可以备案,参考 (http://域名.信息)[http://域名.信息]。例如 .cc 这种顶级域名就不支持备案。

为什么要备案

那么为什么需要备案?很简单,就是赵老爷希望在你发布了不利用党国的言论或非法信息(例如色情)等天朝法律不允许的内容时,能够第一时间拿到你的信息抓你或者要求你删除不当言论。

如何备案?

既然你已经无法忍受国外服务的速度转投国内的云厂商,我这里就简单把备案步骤说一下:

首先,第一步,把你国外的域名转移到国内的域名厂商后然后进行后续的操作,这里我建议转移到一些比较大的域名厂商,或者你希望使用哪家的云服务器,那么就把域名转移过去,通常我是建议找一些大厂,稳定性和售后有保障点。比如阿里云 腾讯云,至少倒闭的可能性小,转移前先咨询对应厂商的售后了解转移手续。有可能他们的流程或要求会变。比如阿里云就要求域名必须在阿里,而且必须要有一台云服务器才可以开始备案

其次,备案需要提交很多的资料,要提前准备好,如果你选择了大厂,比如阿里云,会提供在线提交信息的通道,按照步骤来即可,通常提交完信息等待20几天就可以了,不过在备案期间是不能访问你的网站的,所以要做好心理准备。

最后,我还是建议,能不备案就不备案!国外自由,如果你只是一个博客性质的网站,真没必要,我们对比下:

备案有何影响

国内: 需要提供非常多的信息,比如你的身份证信息、住址、联系方式等等。云服务商要一份,工信部要一份,甚至公安部还要一份。注册国内网站基本恨不得把你个人信息挖个遍,因为他们也怕担责任,如果你找个很小的云厂商注册域名(可能是某个大域名厂商的二级、三级代理)你的售后、你的信息泄露等等都无法保障。其次,万一你做的服务发生了违法信息(并非你上传)你也是要承担责任的,并且还有可能域名被收回。自己去搜相关案例。因此对隐私注重比较强的建议慎重选择。除非你是要在国内经营,那是没办法。

国内备案还有一个比较坑的就是假设你在阿里云备案了,那么如果你用阿里云用的不爽想迁移到其他厂商,你的备案是不被承认的,还需要重新备案才可以。

国外:大部分域名或云服务器厂商只需要一个邮箱、一个信用卡就可以了,并且无需备案。不过也是建议在一些信誉和售后比较好的厂商购买。比如域名我是在狗爹买的,服务器根据实际情况选了,大部分国外服务器的配置和性价比都比国内高很多。

不过,目前一些云厂商基本都是对 HTTP 协议进行限制,也就是说你如果使用除 80 以外的端口提供服务就管的不怎么严了,比如使用 HTTPS 有些云厂商就可以,以网易云为例:

使用 HTTP 协议访问未备案域名会被拦截

使用 HTTPS 访问未备案域名则正常

其原理是因为 HTTP 协议在传输国产中都是明文的,你的数据完全是公开的,那么防火墙可以通过 HTTP 协议的 Host 字段拿到你的域名进行判断,而 HTTPS 则是加密了内容,没有私钥是无法解密的。因此无法直接拦截,当然了也不是说不可以拦截,你想想谷歌、Youtube、twitter 你就知道了,只不过直接禁止 IP 或禁止端口可能影响很大吧,具体不清楚。

目前的网络环境来看,不管有无备案都应该开启 HTTPS。