0

我试图让“ http://example.co.ukhttps://example.co.uk ”重定向到“ https://example.com ”。

站点“ https://example.com ”设置为始终使用 HTTPS:

<VirtualHost *:80>
        RewriteEngine on

        RewriteCond %{HTTPS} !=on
        RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

每当我使用 A 记录设置“example.co.uk”以转到服务器的 IP 地址时,Chromium 都会给出一个 SSL 错误,询问我是否确定在同时使用 http 和 https 以及 Firefox 时要继续使用 https 时显示“不受信任的连接”页面(http 显示该站点但隐藏了非 SSL 内容)。

我尝试将“ https://example.co.uk ”和“ http://example.co.uk ”重定向到“ https://example.com ”:

<Virtualhost example.co.uk:80>
        ServerName example.co.uk

        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^(www\.)?example\.co.uk$ [NC]
        RewriteCond %{SERVER_PORT} =80
        RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

        RewriteCond %{HTTP_HOST} ^(www\.)?example\.co.uk$ [NC]
        RewriteCond %{SERVER_PORT} =443
        RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
</VirtualHost>

..它在 Chromium 中部分有效,因为它重定向到“example.com”的非 https 版本,并且在 Firefox 中没有任何影响。

这样做的问题是该站点的 https 版本不再起作用,上面的重写规则也不起作用。

我怎样才能让“ https://example.co.uk ”和“ http://example.co.uk ”转到“ https://example.com ”而没有任何 SSL 警告?

4

1 回答 1

2

如果没有设置有效的证书,您将无法获得无警告的 https,不幸的是,这包括重定向。您需要为您的 .co.uk 设置(使用单独的 IP 地址、SNI 或主题替代名称)正确签名的证书,并确保您的 DNS 设置为指向为其提供服务的 IP。这可能比它的价值更麻烦。

于 2013-09-21T12:37:15.050 回答