【问题标题】:Secure a url that has a cname record保护具有 cname 记录的 url
【发布时间】:2012-05-02 01:37:55
【问题描述】:

我有一个网站,每个用户都有子域和通配符 SSL 证书

https://user1.mysite.com

https://user2.mysite.com

问题是有人可以设置一个 cname 记录,例如 user1.theirsite.com -> user1.mysite.com 并让它仍然使用 https 吗?

如果他们在服务器上安装 SSL 证书以保护连接,它会起作用吗?

谢谢

【问题讨论】:

  • 如果他们在他们的服务器上使用 CNAME 指向您的服务器,那么他们一开始就不会被联系以获得 SSL 证书......对吗?你特别担心什么?
  • 用户会看到连接是不受信任的。

标签: ssl dns cname


【解决方案1】:

实现此目的的最佳方式是,如果他们与您安排让您的 SSL 证书在 您的 X 中包含他们的“别名”作为 Subject Alternate Name 扩展名。 509证书。

这是一些 CDN 在为客户端托管 https 站点时使用的方法 - 他们将托管在一台服务器上的所有已知站点名称放在一个大型 SSL 证书中,然后客户端使用 CNAME 指向他们的正确 CDN 服务器上的域。

【讨论】:

  • 当然不错的选择。它承担着与获得证书+私钥相同的责任(并且可以使应用程序更复杂),但可以在没有 SNI 的情况下工作。
  • 这可行。我在 godaddy 上看到的选项有多个域 SSL 或无限子域 SSL。有一个组合,还是我会使用两个?
  • 一个大的 SSL 证书不能变得太大吗?如果有 1000 个客户怎么办?
【解决方案2】:

主机名和证书验证(事实上,检查是否使用了 SSL)完全由客户端负责。

主机名验证将由客户端完成,如RFC 2818 中所指定,基于他们在其 URL 中请求的主机名。主机名 DNS 解析是基于 CNAME 条目还是其他任何内容都无关紧要。

如果用户在浏览器中输入https://user1.theirsite.com/,则目标站点上的证书应该对user1.theirsite.com有效。

如果他们有自己的user1.theirsite.com 服务器,与user1.mysite.com 不同,DNS CNAME 条目将没有意义。假设这两个主机实际上是不同的,它们可以拥有自己的user1.theirsite.com 有效证书并重定向到https://user1.theirsite.com/。重定向也将在地址栏中可见。

如果您真的想拥有一个从 user1.theirsite.comuser1.mysite.com 的 CNAME,他们可能会给您他们的证书和私钥,以便您也可以在您的站点上托管它,使用服务器名称指示(假设相同的端口,当然还有相同的 IP 地址,因为您使用的是 CNAME)。这适用于支持 SNI 的客户端。但是,他们将私钥提供给您会有一定的风险(通常不建议这样做)。

【讨论】:

  • 这令人失望。我想我必须远离 https,然后根据需要重定向它们。
【解决方案3】:

以下设置和工作:

a.corp.com 的 DNS 条目 -> CNAME b.corp2.com -> A 1.2.3.4

1.2.3.4 的 haproxy 将为a.corp.com 提供证书,并且该站点可以从网络服务器后端正常加载。

因此,在您的服务器上,您将需要 user1.theirsite.com 证书,它会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2018-05-15
    • 2020-06-27
    • 1970-01-01
    • 2015-07-09
    • 2022-01-17
    • 2017-04-03
    相关资源
    最近更新 更多