0

我正在尝试将解析到同一网络服务器的各种 url 重定向到我拥有 ssl 证书的域上。我的 apache conf 有以下重写规则:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST}   !^(https?://(www\.)?)?my\.domain\.org [NC,OR]
RewriteCond %{HTTPS_HOST}   !^(https?://(www\.)?)?my\.domain\.org [NC]
RewriteRule ^(.*)$ https://my.domain.org$1 [R=301,L]

然后跟随虚拟主机

 <VirtualHost *:443>
   ...
 </VirtualHost>

上述规则适用于http://example.orghttps://my.domain.org。它们也适用于http://my.domain.orghttps://my.domain.org。它们不适用于但不适用于https://example.orghttps://my.domain.org。浏览器给出与主机不匹配的证书的警告页面。有什么想法在我的情况下出了什么问题吗?

谢谢!

4

1 回答 1

0

可能不是重写规则 - 而是您设置的(裸机或 SNI)虚拟主机和证书对。即主机名的值硬编码到这些虚拟主机的证书中。

人们会期望将该服务器的证书颁发给 *.example.org 并具有 example.org 的主题替代名称。

您可以使用“openssl x509 -text -noout -in cert.pem”进行检查。

于 2012-05-23T07:45:01.527 回答