首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置CNAME混淆

设置CNAME混淆
EN

Webmasters Stack Exchange用户
提问于 2013-06-10 17:18:50
回答 2查看 540关注 0票数 3

我不明白CNAME DNS记录是如何工作的。

我一直认为

代码语言:javascript
复制
bar.example.org.        CNAME  foo.example.com.

允许我请求bar.example.org并接收foo.example.com,而我拥有域foo.example.com,而其他人拥有bar.example.org

这是没有意义的,因为我可以指向任何域(即使未经许可)到我的内容。

因此,我认为情况正好相反,如果我是bar.example.org的所有者,我可以将这个域指向foo.example.com。这也很奇怪,因为我的页面会显示其他人的内容,而所有者可能根本不知道这些内容。

那么,CNAME实际上是如何工作的呢?

EN

回答 2

Webmasters Stack Exchange用户

回答已采纳

发布于 2013-06-10 21:54:32

任何人都可以创建一个CNAME,指向您的网站。如果您的站点被配置为其服务器上的默认主机,这将导致您的站点在该域名下服务。

因此,我建议您始终将站点配置为在服务器上作为虚拟主机运行。默认主机可以配置为重定向到您的网站。这样,所有CNAME记录指向您的网站只会导致HTTP重定向,用户将结束在正确的URL。

如果您正在使用共享主机(大多数网站都使用),那么您的站点已经配置为虚拟主机。对服务器的任何未识别主机名的请求都将提供错误消息或重定向到托管公司网站。

如果您希望CNAME指向您的站点,则需要为其设置第二个虚拟主机指令。如果您正在使用Apache,则可以使用“允许”、“拒绝”规则来限制可以在该cname下查看站点的IP地址。下面是一个来自堆栈溢出问题的示例:

代码语言:javascript
复制
<VirtualHost *:80>
  ServerName cname.someothersite.example.com
  DocumentRoot /var/www/mysite
  <Directory /var/www/mysite>
    Order Deny,Allow
    Deny from all
    Allow from 10.1.2.0/24 
  </Directory>
</VirtualHost>
票数 2
EN

Webmasters Stack Exchange用户

发布于 2013-06-10 21:21:29

CNAME记录就像链接一样工作,除了DNS级别。就像你可以链接到任何网站,你也可以创建一个CNAME记录到任何主机。

与链接一样,网站管理员/服务器管理员应该始终检查允许的主机和IP,但不幸的是许多人没有,这就是真正的问题所在。它还会产生搜索引擎索引等问题.

所以就让CNAME离开可以吗?这取决于你让CNAME的人和目标是什么。大多数允许这样做的站点/主机,如内容发布网络 (CDN),都会在其TOS协议中声明这一点,并且可能也会检查允许主机的数据库。

此外,出于法律和伦理上的原因,我应该声明,任何打算把CNAME交给外部主持人的人都应该首先确认这样做是可以的--我不是说你不会!<--失去分数的好方法,对吗?

票数 2
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/49422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档