我有一个服务于单个虚拟主机的 Apache 服务器https://app.example.com
。
由于遗留原因,该网站也有另一个名称https://myapp.example.com
。
对于连接到旧名称的用户,他们会收到浏览器证书警告,因为证书通用名称显然与主机名不匹配。
是否可以使用 Apache 重写规则来避免此警告并让客户端连接到正确的主机?
我试过了
RewriteCond %{HTTP_HOST} !=app.example.com$ [NC]
RewriteCond %{HTTP_HOST} !=""
RewriteRule ^ https://app.example.com/%{REQUEST_URI} [R=301,L]
它什么也不做。
答案1
基本上,没有。
客户端(浏览器)在第一次通信中尝试协商 HTTPS 时将触发警告。避免这种情况的唯一方法是使用对两个名称都有效的通配符或 SAN 证书,或者在两个名称上都使用单独的有效证书。
重写发生方式在游戏后期,浏览器才会触发警告。