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里面标明了自己的 Host 是 www.A.com ,这一点可以从浏览器的调试模式里面看到。

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

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

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

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

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

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

查看所有标签

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

科技之巅2

科技之巅2

麻省理工科技评论 / 人民邮电出版社 / 2017-6-1 / CNY 88.00

《麻省理工科技评论》从2001年开始,每年都会公布“10大全球突破性技术”,即TR10(Technology Review 10),并预测其大规模商业化的潜力,以及对人类生活和社会的重大影响。 这些技术代表了当前世界科技的发展前沿和未来发展方向,集中反映了近年来世界科技发展的新特点和新趋势,将引领面向未来的研究方向。其中许多技术已经走向市场,主导着产业技术的发展,极大地推动了经济社会发展和科技创新......一起来看看 《科技之巅2》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器