CNAME

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

内容简介:我之前写过一片笔记这篇笔记记录一下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;
}

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

查看所有标签

猜你喜欢:

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

编程风格

编程风格

[美] Cristina Videira Lopes / 顾中磊 / 人民邮电出版社 / 2017-8 / 55.00元

本书对一个常见的编程问题定义了不同的约束,分别使用33种方法实现了同一个词频统计任务,从而形成了风格迥异的编程风格。作者以惯用的计算机语言与简单的任务为画笔,描绘了一次生动难忘的编程之旅,帮助读者加深了对语言的理解,也提供了崭新的编程思路。一起来看看 《编程风格》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具