我有一台服务于单个虚拟主机的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]
哪个没做什么
基本上没有。
客户端(浏览器)在第一次通信中尝试协商HTTPS时将触发警告。 避免这种情况的唯一方法是使用对两个名称都有效的通配符或SAN证书,或者对两个名称都使用单独的有效证书。
重写发生在游戏后期,很快就会被浏览器触发。