换一种视角看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 ...
随机推荐
- 图解SparkStreaming与Kafka的整合,这些细节大家要注意!
前言 老刘是一名即将找工作的研二学生,写博客一方面是复习总结大数据开发的知识点,一方面是希望帮助更多自学的小伙伴.由于老刘是自学大数据开发,肯定会存在一些不足,还希望大家能够批评指正,让我们一起进步! ...
- node实现文件下载
1.引入fs const fs = require('fs') const path = reqire('path') 2.方法 const downloadFile = function (dest ...
- 技术面试没过,居然是没有用pytest测试框架
1.引言 我有一个朋友是做Python自动化测试的.前几天他告诉我去参加一个大厂面试被刷了. 我问他是有没有总结被刷下来的原因.他说面试官问了一些 pytest 单元测试框架相关的知识,包括什么插件系 ...
- vrp OS Switch Rotuer Application
交换机可以隔离冲突与,路由器可以隔离广播域,这两种设备在企业网络中应用越来越广泛.随着越来越多的终端接入到网络中,网络设备的负担也越来越重,这时网络设备可以通过华为专有的VRP系统来提升运行效率. 通 ...
- 代码审计 - BugkuCTF
extract变量覆盖: 相关函数: extract()函数:从数组中将变量导入到当前的符号表.把数组键名作为变量名,数组的键值作为变量值.但是当变量中有同名的元素时会默认覆盖掉之前的变量值. tri ...
- SAP中的事务锁
我们知道sap中的事物锁tcode是SM01. 细细研究发现,其实无外乎就是将tstc表中的事务码对应的字段CINFO的值加上HEX20 解锁就是还原成原来的值. 当然也发现了,调用了一个系统函数AU ...
- SpringMVC下关于静态资源访问
SpringMVC静态资源访问 聊一聊关于静态资源的访问问题 首先,我们要对web.xml里面的DispatcherServlet进行设置 <!-- 中央调度器--> <servle ...
- uni-app调用wifi接口
微信小程序条件渲染 在小程序app.json中添加 需要先获取位置信息 "permission": { "scope.userLocation": { &quo ...
- Mybatis【15】-- Mybatis一对一多表关联查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-11-one2one,需要自取,需要配置maven ...
- centos7+python+selenium+chrome
1.安装chrome yum install google-chrome 2.安装chromedriver所有版本的下载地址:https://sites.google.com/a/chromium.o ...