将域 A 指向域 B 的 CNAME 导致安全警告

将域 A 指向域 B 的 CNAME 导致安全警告

我正在使用一项服务 ( banana.com),它允许我使用我的域名 ( orange.com) 登录。

他们提到添加如下 CNAME 记录:

an.orange.com. 3600 IN CNAME service.banana.com.

我这样做了,但是当我访问 URL 时,我收到(在 Chrome 上)一个错误你的连接不是私人的””

你的连接不是私人的

我的服务器在 Apache 上运行。

服务器为什么要证明它是an.orange.com?它为什么一开始就访问我的服务器?地址不应该解析为 吗service.banana.com

答案1

CNAME记录声明an.orange.com是规范名称 的别名service.banana.com
这意味着当客户端在 查找某些记录类型(例如A)时,an.orange.com响应实际上将具有 的A记录service.banana.com

在常规应用程序中,例如示例中的 Web 浏览器,应用程序不知道或不关心是否存在以记录形式的间接寻址,CNAME因为作为名称解析过程的一部分(它对其内部结构基本上是盲目的),它只是使用生成的 IP 地址。

考虑到这一点,当用户https://an.orange.com/在其 Web 浏览器中导航到 时,浏览器将连接到 URL 的主机部分 ( an.orange.com),它会解析此名称、获取 IP 地址、进行连接,然后它会完全期望从当前 URL 获取主机的有效证书(如果是 HTTPS),然后它会将 Host 标头与当前 URL 的主机部分 ( an.orange.com) 作为请求的一部分发送。

这与 Web 浏览器对 HTTP 重定向的反应有很大不同,在 HTTP 重定向中,浏览器被告知导航到一个不同的 URL,并按照新的期望重新启动整个导航过程(例如,现在尝试连接到https://service.banana.com/)。

对于 HTTPS,这意味着如果您想允许用户导航到,https://an.orange.com/您必须拥有该名称的有效证书。

相关内容