DNS & CDN & HTTPDNS 原理简析

DNS & CDN & HTTPDNS 原理简析,第1张

DNS 服务器的功能:

在由路由器组成的局域网中,本地 DNS 设置为自动获取(路由器),路由器 DNS 设置为(ISP 提供的 DNS),主机通过浏览器访问 http://www.jianshu.com 时 DNS 请求-响应情况:

具体详见: 结合Wireshark分析DNS 协议

根据上面的 wireshark 分析结果可以看出:DNS 服务器返回的不一定是 IP ,在 DNS 请求中域名为别名时,则 DNS 服务器会返回其 A 记录;

如上图中 cdn-qn0.jianshu.io 域名解析返回的是 CNAME 类型结果 cname iduvrz0.qiniudns.com ,这表明 cdn-qn0.jianshu.io 是别名,其 cname 指向(A 记录)是 iduvrz0.qiniudns.com

因为 A 记录与 IP 映射,于是主机又向 DNS 服务器 发起 iduvrz0.qiniudns.com DNS 请求

CDN原理图:

通过在权威 DNS 服务器中配置 images.jianshu.com 的 cname 指向(A 记录)为 abc.qiniudns.com

在 CDN DNS 中将 abc.qiniudns.com 与 110.110.110.110, 220.220.220.220, 330.330.330.330 三个 IP 映射

就可以实现通过 CDN 给域名 images.jianshu.com 加速

更多 CDN 知识参见: CDN 知识

一篇很好的文章来解释 HTTPDNS : HttpDNS 服务详解

反向绑定域名最初应该是应用在站点负载均衡和域名内网转发上,利用反向绑定域名的 方法 可以将用户的不同请求分发到不同的服务器上,下面是我给大家整理的一些有关反向绑定域名的方法,希望对大家有帮助!

反向绑定域名的方法

一、利用虚拟主机空间作反向绑定域名

1、先找到一个支持自定义.htaccess,apache服务器,允许有反向代(^_^)理的权限的免费空间或者虚拟主机,将空间的.htaccess文件下载到本地,用记事本打开,将下列代码添加进去,再上传,如下:RewriteEngine On RewriteBase / RewriteRule ^(.*)$ hp://域名/$1 [P]

2、注意把代码中的网址替换成你想要反向绑定域名的域名,这里是强制将域名绑定到SAE空间上,用了SAE的二级域名地址

3、如果你找不到支持.htaccess的URL地址重写的虚拟主机或者空间,可以直接使用7ghost这个PHP程序,只要空间支持allow_furl_open和curl、容量至少要有500K即可。如果启用缓存的话需要 写权限和空间足够大。

4这是7ghost程序设置界面(点击放大),利用它你可以反向Dai理任何网站,详细的操作方法

二、利用Nginx反向绑定域名

1如果你有VPS主机,那么可以用Nginx的反向配置来搭建一个反向绑定域名的平台了,Nginx强大之处还在于还可以变成一个缓存平台,大大加快你反向Dai理的网站的访问速度。

2因为国内的空间不让绑定没有BA的域名,部落之前利用Nginx反向绑定域名到国内的空间上

三、利用kangle web搭建反向绑定域名服务器

1kangle web服务器是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向Dai理服务器软件,能实现强大的访问请求控制(url,ip地址,连接数/网速限制,hp头,时间控制,多种hp认证,#服务器负载,url重定向,url重写,内容过滤等等)。

2与上面的采用Nginx反向配置来搭建反向绑定域名不同的是,kangle web有良好的Web操作界面,通过搭建不同的配置可以实现复杂的反向域名

四、利用AMH和upupw来反向绑定域名

1AMH是国内一个开源的主机面板,可以创建 LNMP、LAMP、LNMH 等不同WEB应用环境,新版本的AMH还支持apache2.4和HHVM。AMH相应的功能模块也非常地多,其中AMProxy就是一个反向绑定域名模块。

AMProxy的2.0版本支持缓存管理功能,支持在线关键字添加、替换,支持设置不同类型文件替换、与支持添加自定义首尾html代码块等。利用CDN智能解析功能,将不同路线、地理位置的用户解析到相应服务器,对用户访问进行缓存加速,同时减轻源站的服务器压力

利用AMH反向绑定域名并成功绕过白**名单的方法,首先是要求:一个有BA号的域名、一个没有BA号的域名、一台可以访问的境外主机,美国的VPS主机就可以。

使用 root 账号登录 Linux 服务器。执行 amh 安装脚本:wget hp://amh.sh/amh.sh &&bash amh.sh 2>&1 | tee amh.log,根据提示输入选择1~3选项。输入1回车,进入安装

极速安装方式大约只需要1至3分钟(以服务器性能为准),成功安装后系统会提示AMH与MySQL默认账号密码。可使用普通连接访问面板,ip:8888,或加密的连接访问面板,ip:9999

登陆后台找到 模块扩展 >下载模块,大约在第3页找到 AMProxy-2.0 下载并安装。在管理模块中找到并进入设置界面,可以看到新增AMProxy反向代理网站一栏。绑定域名:输入没有BA号的域名(IP),反代域名:输入有BA号的域名(IP)

用上面的方法,默认是反代到国内主机的80端口上,可是有些主机反代到80端口后还是无法访问,下面说一下如何使用其他端口建站。这里以没有BA号的域名 bukets.net和有BA号的域名 demo.vsen.me来作演示,环境是upupw+amh。

先在国内的云主机上安装upupw,然后新建虚拟主机域名输入为 demo.vsen.me,目录自设。打开upupw目录进入 Apache2\conf,找到hpd-vhosts.conf并打开(注意不要使用系统的 笔记本 或文本文档打开,我用的是Notepad++)

找到刚刚新建的虚拟主机规则,并将 servername demo.vsen.me:80 改为 servername demo.vsen.me:8000,保存并关闭。继续打开目录下的hp.conf文件,在最下方 # upupw apache conf end 前增加如下代码,保存并关闭。

# 新增监听端口Include conf/hpd-listen.conf

在 Apache2\conf 目录下新建 hpd-listen.conf 文件,在里面写入 Listen 8000,保存并关闭。打开系统防火墙(控制面板中),选择 例外 选项卡,点击下方的 添加端口 按钮,名称自起,端 口号 写入8000,确定。回到upupw面板,重启

没有意外的话,访问bukets.net就可以成功打开网站了。上面只做了一个网站的例子,如果以后有多个网站,那就需要重复以上步骤了

END


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/88677.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-06
下一篇2023-03-06

发表评论

登录后才能评论

评论列表(0条)

    保存