互联网应用首先要保证可以通过域名访问
dns的作用是把域名解析成服务器的ip地址
一般来说dns服务器不会超过负载
dns服务器一般由域名提供商或者专门的dns服务商提供,对于特别大型的项目可以自行搭建
应对dns攻击
一旦稍微有点规模,dns攻击非常多,特征是部分地区无法通过域名访问正确的网站
可以使用dnspod的dns解析服务,网址:http://www.dnspod.cn/
不过貌似今天dnspod被黑了,新闻链接 传DNSPOD被黑!中国顶级域名根服务器故障
智能dns
智能dns的作用是根据客户端ip地址,返回不同的服务器ip.
一般使用场景有:
- 解决南北问题,南方的客户解析到电信服务器,北方的客户解析到网通服务器
- 为cdn做准备,不同的客户就近访问.这要看服务器的分布情况
搭建dns服务器
用linux中的bind可以自行搭建dns服务器
搭建环境不复杂,但是要保证服务质量达到99.9999%难度很大,运维成本上看也不划算.
dns污染
国内很多小的网络提供商(客户端的),经常会污染dns,例如有线通,长城宽带,有时电信宽带也会这样
特征是大概一个网页的时候右下角弹出本来没有的广告,这个广告就是网络提供商通过dns污染插入进去的.
这种情况一般可以通过让客户投诉网络提供商解决.
但是不可能让所有客户一个一个去投诉,这个很难解决.针对污染严重的可以通过找关系的方式把域名加入到网络提供商的白名单中,需要花钱,并且需要一家一家找,很麻烦.
静态资源文件的域名
静态资源文件指javascript,css,图片,生成的html页面,生成的html片段
以前使用二级域名来访问静态资源文件,例如static.xxx.com,或者assets.xxx.com,img001.xxx.com
现在使用独立的域名来访问图片和css,也有的用独立域名访问javascript和静态html
用独立域名访问javascript会导致跨域访问问题,需要使用jsonp或者cors来处理.
用独立域名访问静态资源文件主要是为了解决以下问题:
- 静态资源文件一般可以用cdn来加速,cdn需要采用智能dns,需要使用CNAME定义域名解析,与原域名分开便于处理
- 静态资源文件访问的时候不用传cookie,与原域名分开可以减少资源服务器的传输量