CNAME

栏目: 服务器 · Nginx · 发布时间: 7年前

内容简介:我之前写过一片笔记这篇笔记记录一下CNAME记录与A记录的区别。可以先看一下七牛云官方网站上面对CNAME的介绍,如下图所示:

我之前写过一片笔记 使用七牛云存储博客图片 , 在使用七牛云的CDN的时候,需要把自己的域名cname到七牛云提供的一个域名上面去。

这篇笔记记录一下CNAME记录与A记录的区别。

可以先看一下七牛云官方网站上面对CNAME的介绍,如下图所示:

CNAME

上图已经说得比较详细了,下面主要说几个点:

  • 1.假如说域名 www.A.com CNAME到了 www.B.com ,在向域名A发请求的时候,浏览器里面看到的地址是谁的?

  • 2.假如说域名 www.A.com CNAME到了 www.B.com , nginx配置文件里面 server_name 应该监听哪个域名才能够正常处理请求?

  • 3.自己的域名被别人恶意CNAME了怎么办?自己的服务器IP被别人恶意A了怎么办?

假如说域名 www.A.com CNAME到了 www.B.com ,在向域名A发请求的时候,浏览器里面看到的地址是谁的?

先来说第一个问题,可以自己试一下,比如说ping一下京东,如下图所示。

CNAME

看上图,可以看到 ping www.jd.com 它最终到了 www.jdcdn.com 上面,而 www.jdcdn.com 这个域名绑定的IP地址是 112.65.34.1

可见 www.jd.com 是CNAME到了 www.jdcdn.com 上面。

在浏览器里面,浏览京东商城的时候,地址栏里面看到的地址还是 www.jd.com

其实这涉及到“一个请求被发出->找到目标主机”里面的一点知识,CNAME知识其中的一部分内容。

一般步骤是这样子的:

https://www.jd.com/

假如说域名 www.A.com CNAME到了 www.B.com , nginx配置文件里面 server_name 应该监听哪个域名才能够正常处理请求?

再说第二个问题

请求包找到了目标IP地址,到达了目标机器之后,目标机器上应该有http服务可以处理这些请求。

比如说一个nginx服务器,它的配置一般如下:

……
……

http {

	server {
		listen 80;
        server_name 具体域名;
        
        ……
        ……
	}
}

这里的 server_name 会匹配域名,这里匹配的是 www.A.com

因为请求数据包发出来的时候,header里面标明了自己的 Hostwww.A.com ,这一点可以从浏览器的调试模式里面看到。

nginx会根据数据包的header里面的Host来确定哪个server处理这个请求

自己的域名被别人恶意CNAME了怎么办?自己的服务器IP被别人恶意A了怎么办?

设置如下nginx配置,在主机被用户通过IP访问 ,或者通过未设置的域名访问的时候生效。

把这些过来的流量,都重定向到你自己的域名去。

server {
	listen 80 default;
	rewrite ^(.*) http://www.yourdomain.com permanent;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google總部大揭密

Google總部大揭密

史蒂芬.李維 / 陳重亨 / 財信 / 2011-11

∣如果有一天,Google的搜尋引擎突然故障 ∣GMAIL信件全數消失 ∣Google Maps、Google Docs、Google行事曆等所有雲端服務全面停擺 ∣我們該怎麼辦?! 歷史上像Google如此成功,且廣受推崇的企業可沒幾家。它改變了網路的使用方式,也成了我們生活不可或缺的一部分。這到底是怎麼辦到的? 《連線》雜誌資深主筆史蒂芬.李維史無前例同時取得LS......一起来看看 《Google總部大揭密》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具