我在Windows Server 2008 R2上使用Apache 2.4。
在服务器本身和所有公司内部客户端上,HTTP工作正常,HTTPS工作正常。从HTTP重定向到HTTPS也可以正常工作。
在公司外部的客户端(即家用机器)上,HTTP工作正常,HTTPS工作正常。但是,从HTTP重定向到HTTPS会被破坏。
出现的错误消息如下: ERR_CERT_AUTHORITY_INVALID 。
发生此错误时,如果查看证书的详细信息,则表明证书已颁发给“localhost.localdomain”。我没有在我的Apache配置文件中找到该域名。详细信息还说,证书的组织是我们的互联网服务提供商,于2011年5月7日发布,并于2021年3月4日到期。这些证书细节均不属于我们的实际证书。我们的证书由Digicert颁发,并于2019年到期。
当我使用SSL Labs进行诊断时,测试甚至没有完全运行,并显示以下错误消息:
Certificate name mismatch
Try these other domain names (extracted from the certificates):
localhost.localdomain
这些是我的VirtualHost配置:
<VirtualHost *:80>
ServerName www.example.com:80
ServerAlias example.com:80
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://www.example.com/$1 [NE,L,R=301]
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com:443
ServerAlias example.com:443
SSLEngine on
SSLCertificateFile "C:\https\star_example_com.crt"
SSLCertificateKeyFile "C:\https\star_example.com.key"
SSLCertificateChainFile "C:\https\DigiCertCA.crt"
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^/?(.*)$ https://www.example.com/$1 [NE,L,R=301]
</VirtualHost>
我也尝试使用以下重定向命令重定向,但同样的事情发生了:
Redirect permanent / https://www.example.com/
答案 0 :(得分:0)
所以,我们想通了。它与HTTPS或重定向无关。
我们有一个网站故障转移服务器,如果检测到我们的主站点处于脱机状态或出现故障,则会启动它。
显然,检测到的故障转移逻辑301/302重定向为失败。故障转移服务器正在提供神秘的证书。
我们必须将故障转移逻辑更改为不再将重定向视为失败。