Apache从httpsredirect到https

我正在尝试redirect,而没有从https://www.domain.com到https://www.domain.net的重写规则。 我有* .domain.net的通配符证书。 这会在我的error_log中产生以下警告

[警告] RSA服务器证书通配符CommonName(CN)`* .domain.net'与服务器名称不匹配!

这是有道理的,我明白为什么警告。 我想问一下是否有一种方法可以使用Redirect指令来完成上述操作而不需要警告。 这是我在ssl.conf中的虚拟主机

<VirtualHost *:443> SSLEngine on ServerName www.domain.net DocumentRoot /var/www/html/domain SSLOptions -FakeBasicAuth -ExportCertData +StrictRequire +OptRenegotiate -StdEnvVars SSLStrictSNIVHostCheck off </VirtualHost> <VirtualHost *:443> SSLEngine on ServerName www.domain.com ServerAlias www.domain.info Redirect permanent / https://www.domain.net </VirtualHost> 

此外,如果有解决scheme,它可以用于从htps://domain.comredirect到htps://www.domain.com? 非常感谢!

请注意,在发送实际请求之前 ,会发生基础HTTPS连接的SSL握手和validation过程。 这意味着在validation服务器证书的真实性之前,没有来自服务器的HTTP响应,甚至不redirect。

如果您只有一个端点(即只有一个公共IP地址),则需要购买一个SAN证书,即具有使用者备用名称的证书。

这样,您可以为*.domain.net使用*.domain.net的通配符证书,并且不会收到任何证书警告

有关更多信息,请查看我为类似情况提供的旧答案 ,只需使用nginx而不是apache

www.domain.comwww.domain.info )与www.domain.info不是一回事,因此是警告。 如果您需要避免此警告,您也应该拥有这些域的证书。