换一种视角看DNS(采坑篇)
换一种视角看DNS
我们尽量用精炼的语言,尽可能的规划DNS的全貌(当然笔者水平有限,如有错误请不吝赐教)。
通常啊我们在个人PC中能看到DNS的配置身影就是在上网的时候,通常如果你不配置DNS可能找不到IP地址等等,那这是我们就回去配置一个DNS服务器,我们可以吧DNS服务器理解为地址簿,没错漫游在全网的地址簿;那你想过没有它背后的作用呢?我们继续看。
1、什么是DNS服务?
DNS服务全程Domain Name System,中文译名为域名系统。就是互联网中地址簿,通常我们PC端都是自动获取,有过管理服务器的效果版一般手工配置的多。
DNS是一个超大的地址簿,但是呢统一管理太麻烦怎么办呢?分层管理,非常类似郡县制,然后一层一层划分下去,我们以百度的域名为例说一下:
www.baidu.com.
上面这个字符串就是域名,也就是我们熟知百度的域名,眼尖的小伙伴可能发现最后怎么多了一点,没错这个点就是最高层的管理者也就是根,当然我们默认情况下都是隐藏的,我们拆分来看下:
- com:这个顶级域名,是有一个家域名发行商管理,当然类似的还有io, cn, hk 等等;
- baidu:在顶级域名下面,我们称之为一级域名,这个域名都是用户或者公司进行购买,需要付出费用;
- www:接着就是www,我们称之为二级域名,这个完全是由一级域名所有者进行管理的。
看到这里有的小伙伴有些懵,那么简单来说下规则:
.(根) --> com(顶级域名) --> baidu(一级域名) --> www(二级域名)
一般情况下就是这样的一个分层构建了我们看到的DNS服务。
2、DNS应用场景
场景:就是地址簿....
场景一:域名管理
这也是最常见的情况,在购买一级域名后你可以进行配置你的域名记录,域名指向你的实际地址我们称之为A记录,相关的常用记录还有:
- A记录,一般作用于域名-->IP的直接解析也是企业最常用的;
- CNAME,就是别名解析,一般多用于CDN的场景下,相当于域名和主机之间增加了一个桥梁;
- MX,邮件解析记录,这个笔者接触也不多;
- NS,指定你的DNS服务器地址,刚才我们说过了域名是自上而下的管理,你需要一个老大哥来罩着你,这个DNS就是你大哥地址,默认情况下购买域名后默认给你配置;
- TXT,这个记录一般多用于域名验证,判断域名是否有管理权限。
好用的DNS,如万网或者DNSPOD 会有 A记录负载均衡以及智能DNS的功能。
- A记录负载均衡,当你的入口服务器一台机器扛不住的情况下,这个是非常赞的功能;
- 智能DNS,可以根据用户来源的DNS位置进行解析不同的记录,这样就可以实现用户分流了(从源头控制很舒心,多用于跨境服务以及CDN)。
场景二:企业内部DNS
上周还在吐槽,公司内部测试环境服务器通过IP+端口来划分,记忆混乱整个人都难受,平白无故都发也稀少了,这样我们就可以通过构建一台内部DNS解决这个问题了
还有一个非常重要的事情就是,集群内部环境,当我们使用外部服务器的DNS,如果他们DNS抽风或者网络的种种原因我们最好在自己机房做一个DNS服务,来保证内部服务的通畅。
笔者认识的小伙伴就因为某DNS服务商除了问题,整个内部服务有一多半出现非常卡顿的问题。
3、DNS踩过的坑
Q: 我配置的DNS为啥没有效果呢?
A: DNS默认生效是有周期行知的默认都在10分钟以内,如果更改的级别越高比如你修改了NS服务则需要24小时甚至更长。(所以笔者建议,在切割DNS时特别注意这一点,以免造成服务不可访问)
Q: 为什么我明明配置的DNS解析记录,然而还是搜寻不到呢?
A: 鉴于国内行情DNS和运营商的的缓存刷新还不一致,你可以指定你服务器配置的DNS Server测试一下
Q: 智能DNS 为什么解析的服务器不是对应地区的呢?
A: 这个智能DNS能够获取到的是用户PC上配置的DNS地址,所以你懂的(所以测试的小伙伴需要注意了)
Q: DNS 负载均衡怎么不是1V1?
A: DNS服务商也想啊,但是实力不允许啊,能够做到相对轮训的,可靠地不用担心(只是负载均衡,没有健康检查,Bro 特别注意)
Q: 我配置了CDN 但是经常出现404,尤其是配置HTTPS的情况下?
A: 这个呢是CDN服务器宕机或者智能调度到其他Server,但是运营商的缓存没有刷新;建议联系你的CDN的销售经理帮助你换到更加稳定服务器哦。
其实最大的坑,莫过于运营商和DNS服务商的缓存刷新了
4、DNS两种解析机制
鉴于网上有比较好的文章了,我就不水了,传送门:https://blog.51cto.com/13570193/2105393
换一种视角看DNS(采坑篇)的更多相关文章
- Html.fromHtml采坑篇
在显示复杂的文本样式时,通常采用SpannableString和Html.formHtml来解决需求. 在使用html过程中,通常会出现以下问题: 1.提示Html.formHtml方法过时 解决 使 ...
- 从源码看Spring Security之采坑笔记(Spring Boot篇)
一:唠嗑 鼓捣了两天的Spring Security,踩了不少坑.如果你在学Spring Security,恰好又是使用的Spring Boot,那么给我点个赞吧!这篇博客将会让你了解Spring S ...
- 换种眼光看Spring之bean是怎么诞生的(一)
Java的世界里处处存在了对象,有时候换一种眼光往往会给自己带来与之前大不一样的理解. 一个对象的出现离不开字节码,拿classforname来讲,classforname("...&quo ...
- Mybatis系列全解(七):全息视角看Dao层两种实现方式之传统方式与代理方式
封面:洛小汐 作者:潘潘 一直以来 他们都说为了生活 便追求所谓成功 顶级薪水.名牌包包 还有学区房 · 不过 总有人丢了生活 仍一无所获 · 我比较随遇而安 有些事懒得明白 平日里问心无愧 感兴趣的 ...
- alert大法看执行流程(一次采坑)
页面的dom元素加载完了,给元素一次性添加事件. 收获:事件都是一次性给添加好的,不是点击一次,................................................... ...
- Redis集群搭建采坑总结
背景 先澄清一下,整个过程问题都不是我解决的,我在里面就是起了个打酱油的角色.因为实际上我负责这个项目,整个过程也比较清楚.之前也跟具体负责的同事说过,等过段时间带他做做项目复盘.结果一直忙,之前做的 ...
- Charles 抓包工具安装和采坑记录
Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...
- PS切图采坑
博客记录我的各种采坑,有的坑很水,比如下面这个 谨记录自己的坑,以后作为入门笑料. 拿到设计师的psd设计图,理清事件逻辑,接下来就要切图啦.结果PS老是crash!检查了PS版本,也不低啊2017. ...
- axios采坑之路
POST请求设置Content-Type 由于后端采用的是form表单形式上送参数,需要设置Content-Type axios设置如下 const _axios = axios.create(con ...
随机推荐
- git merge了错误分支,如何优雅的回退到merge前的状态?
git merge了错误分支,如何优雅的回退到merge前的状态? 没push的话 git reset --hard (a分支5点那个时候commit之后的sha1) 然后重新 git merge
- 一张图看懂sql的各种join
下图展示了 LEFT JOIN.RIGHT JOIN.INNER JOIN.OUTER JOIN 相关的 7 种用法.
- JButton的常用方法
JButton 实现了普通的三态外加选中.禁用状态,有很多方法可以设置,不要自己去写鼠标监听器.setBorderPainted(boolean b) //是否画边框,如果用自定义图片做按钮背景 ...
- 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞
风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...
- mysql 连接url中需要添加useUnicode=true&characterEncoding=UTF-8
下面是示例: 数据库中Username是张三 在数据库配置时没有配置编码 useUnicode=true&characterEncoding=UTF-8 导致期望与实际不同 配置useUni ...
- 编译安装 nginx -1.14.2
编译安装 nginx -1.14.2 1 ) 下载nginx-1.14.2 源码包: wget http://nginx.org/download/nginx-1.14.2.tar.gz 2 ) 编译 ...
- Azure Table Storage(一) : 简单介绍
Azure Table Storage是什么: Azure Table Storage是隶属于微软Azure Storage这个大服务下的一个子服务, 这个服务在Azure上算是老字号了, 个人大概在 ...
- 【ORA】ORA-01033,ORA-09968,ORA-01102
[oracle@oracle ~]$ imp xxxx/user file=/usr/local/src/666.dmp full=y buffer=40960000 Import: Release ...
- 视图V_160M和表T_160M的维护
今天发现一个视图,通过SM30居然无法维护,这个视图就是V_160M,表为T_160M,是采购相关的系统消息, 不过别着急,有办法维护的,呵呵,看下面: 试一试OMCQ这个事物代码吧! 分享出来,给需 ...
- Python编程小技巧(一)
在使用Tkinter编写代码的时候,有时候会忘记某个组件的参数是什么或者忘记某个参数怎么拼写的,此时可以通过如下方式查询组件的参数列表,以按钮组件为例: 1 # -*- coding:utf-8 -* ...