没有 www 的域的 SSL 证书

goo*_*ons 0 domain-name-system ssl redirect ssl-certificate apache-2.2

我目前有一个为https://www.domain.com注册的 SSL 证书。我没有注册https://domain.com,我也没有钱去做。

由于 SSL 交换是在加载实际站点之前完成的,因此我不能简单地在 .htacess 中进行重定向,而客户端不会收到 SSL 警告。无论如何,我可以确保在 SSL 交换之前将所有https://domain.com重定向到https://www.domain.com吗?也许直接在Apache服务器上或DNS中的东西?

Bru*_*uno 10

主机名验证是一种客户端机制(如 HTTPS 规范、RFC 2818 的第 3.1 节中所述)。客户端将在任何 HTTP 流量发生之前(特别是在任何重定向之前)检查证书对于它所请求的主机名是否有效。Apache 重定向或 DNS 更改将没有任何用处。

您只需要 Web 服务器提供对请求的主机名有效的证书。

通过具有多个主题备用名称 (SAN) DNS 条目,例如domain.com和,某些证书可以对多个主机名有效www.domain.com。一些 CA 会默认执行此操作,有些则需要额外付费。

(通配符证书也可用于处理多个主机名,前提是它们遵循正确的模式,例如*.domain.com。不幸的是,domain.com不匹配,*.domain.com因为点是模式的一部分。一些通配符证书将同时具有 SANdomain.com*.domain.com,其中情况下,它将用于 SAN 机制,domain.com与通配符无关。)

您还可以使用服务器名称指示 (SNI) 并在该主机上拥有一个额外的不同证书(在 for 的domain.com旁边www.domain.com)。不幸的是,某些客户端不支持它(可能是旧的,但它们仍然存在),而且它肯定毫无意义,因为大多数颁发证书的 CAdomain.com肯定会www.domain.com自动包含在另一个 SAN 中。

无论哪种方式,如果您希望能够提供服务https://domain.com(即使只是为了重定向),您必须获得对其有效的新证书(至少)。