【问题标题】:Wildcard SSL Subdomain forwarding通配符 SSL 子域转发
【发布时间】:2014-09-10 17:20:14
【问题描述】:

我的网站有问题。我有一个网络服务,当用户创建帐户时,他们会获得自己的子域(例如:john.example.com)

一切都按预期完美运行,我有一个通配符 SSL 证书,在前往以下位置时可以正常工作:

https://john.example.com/

但是

如果用户进入 www.john.example.com,Chrome 会停止与该站点的连接并显示 SSL 错误,说明:

无法连接到真正的 www.john.example.com

目前有东西干扰了您与 www.john.example.com。

尝试在几分钟内或切换到新页面后重新加载此页面 网络。如果您最近连接到新的 Wi-Fi 网络,请完成 在重新加载之前登录。

如果您现在访问 www.john.example.com,您可能会分享 攻击者的私人信息。为了保护您的隐私,Chrome 在建立安全连接之前不会加载页面 真正的 www.john.example.com。

这只发生在 chrome 中。如果我在 Firefox 或 IE 中访问 URL www.john.example.com,则连接完成并且 htaccess 将用户转发到 https://john.example.com,但 Chrome 并没有给服务器机会。

我该如何为用户解决这个问题?

我是否必须为 www.*.example.com 购买另一个通配符 SSL 证书?

【问题讨论】:

  • 仅供参考:我已将您的示例更改为使用 example.com 作为示例域名。 mysite.com 是托管公司使用的真实(且不相关)域。

标签: php apache .htaccess mod-rewrite ssl


【解决方案1】:

这是通配符 SSL 证书的固有限制 — 像 *.example.com 中的 * 这样的通配符组件只能替换单个主机名组件(例如 john),而不是多个级别(例如 www.john)。您将需要构建您的网站,使其不会使用www 链接到这些子域;或者,如果必须,它在没有 HTTPS 的情况下这样做。

您很可能无法获得对这些子域有效的通配符证书。 SSL CA 很少愿意签署不寻常的通配符证书,例如您正在考虑的通配符证书 (www.*.example.com)。

【讨论】:

  • 链接不是问题,该站点已设置为正确链接到所有子域。问题是当用户在浏览器栏中输入网址时,很多互联网用户仍然使用“www”。 - 我希望在 Chrome 引发 SSL 错误之前有一种方法可以让我的网站重定向
  • 当然,如果用户输入 URL,它可能不会有“https”吗?
  • @theprestig3 当然,您可以通过 mod-rewrite 或其他方式重定向用户,但您的帖子不包含任何关于此的问题。您需要编辑问题并将其缩小到特定的和编程相关的问题(StackOverflow 是关于编程而不是服务器管理)。
  • @EugeneMayevski'EldoSCorp 好吧,重定向已经到位,我的问题是 Chrome 在服务器可以做任何事情之前抛出 SSL 错误。本质上使网站无法访问。我的问题是找出是否有解决 Google 错误的方法,因为这只发生在 Chrome 上。
  • 好的,这有帮助,我不得不重新阅读你的答案两次才能完全理解最后一点。经过一些实验,我看到我的重定向自动添加了 https,所以如果用户输入 www,他们会得到 https://www - 解决方案是从 url 中删除 www,然后重定向有效 - 感谢您的帮助!
【解决方案2】:

我是否必须为 www.*.example.com 购买另一个通配符 SSL 证书?

即使你能买到这样的证书浏览器也不会接受。 通配符只允许在最左边的标签中使用,请参阅 RFC6125 第 6.4.3 节。这意味着,没有www.*.example.com,没有*.*.example.com,只有*.site.example.com

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 2016-10-21
    • 2018-05-11
    • 2012-08-09
    • 2014-05-10
    • 2014-04-01
    • 1970-01-01
    相关资源
    最近更新 更多