我有一个 SSL 证书,对一个域的www.
和.
子域有效。一切顺利,效果很好。上的所有流量都http
重定向到https
,所有裸域流量都重定向到www.
版本。简而言之,一切都以https://www.
So Far so good 告终。
不过,我也有一个 . com
. 目前有一个 apache 级重定向(目前无法更改 DNS)
目前去https://www.***.com
地址显示证书无效,这当然是正确的——它只适用于www
和.
on .co.uk
。
问题
如何在没有 .com 的有效 SSL 证书且不更改 DNS 的情况下https://www.***.com
重定向到?https://www.***.co.uk
技术细节
所有域都指向同一台服务器。为 ssl 版本和非 ssl 版本设置了一个虚拟主机,两者都使用 www 的别名,而 .co.uk 和 .com 则没有 www。
重写规则如下:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
将所有内容推送到 https。
没有 vlid 证书,您无法发送重定向。重定向通过返回 301 或 302 响应在 HTTP 协议中完成,或者在带有元标头的 html 内容中完成。要发送此数据,需要首先使用有效证书设置 SSL 连接。因此,不要便宜得离谱,并为 .com 获取几乎免费的 startssl 证书。
如果您不想将该域指向一个单独的 IP,则需要在 apache 中设置SNI 支持以处理一个 IP 上的多个证书。