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;
}

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

查看所有标签

猜你喜欢:

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

Web开发秘方

Web开发秘方

Brian P. Hogan、Chris Warren、Mike Weber、Chris Johnson、Aaron Godin / 七印部落 / 华中科技大学出版社 / 2013-7-10 / 66.00元

猜猜硅谷的前端工程师怎么折腾JS的?想知道无限下拉的列表怎么做吗?你知道DropBox可以当Web服务器用吗?你知道怎么做出跨平台的幻灯片效果吗?不借助插件,怎样在移动设备上实现动画效果?怎样快速搭建和测试HTML电子邮箱?怎样制作跨PC和移动设备显示的应用界面?怎样利用最新的JavaScript框架(Backbone和Knockout)提高应用的响应速度?怎样有效利用CoffeeScript和S......一起来看看 《Web开发秘方》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

各进制数互转换器