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

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

查看所有标签

猜你喜欢:

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

AJAX企业级开发

AJAX企业级开发

Davec Johnson、Alexeic White、Andrec Charland / 张祖良、荣浩、高冰 / 人民邮电出版社 / 2008 / 49.00元

本书首先解释了AJAX 为什么在大规模的开发中能有如此广阔的应用前景,接着系统地介绍了当前重要的AJAX 技术和组件。你将看到把数据表、Web 窗体、图表、搜索和过滤连接在一起用于构建AJAX应用程序的框架开发的整个过程;在此基础上,本书给出了已经过证实的AJAX 架构模式,以及来源于实际的.NET 和Java AJAX 应用程序的案例研究。一起来看看 《AJAX企业级开发》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试