如何将没有SSL的https网址重定向到新的https网域

时间:2017-09-30 21:16:10

标签: .htaccess http https

在这种情况下......客户的公司在网址https://client.com

客户添加了合作伙伴并获得了新的商家名称和域名:client-partner.com。

我为client-partner.com建立了一个新网站,并将其托管在与client.com相同的托管帐户中。当client-partner.com上线时,我为client-partner.com重新键入了client.com的SSL证书,计划301将所有client.com页面重定向到client-partner.com上的新页面。站点。

问题是client.com上所有页面的入站链接都是https。但是client.com不再拥有证书......它现在在client-partners.com上。单击指向https://client.com的旧链接会显示该页面不安全的浏览器错误。用户必须添加例外才能完成错误并重定向到https://client-partner.com上的正确页面。

有没有办法,或许有htaccess,可以将https://client.com的所有传入请求重定向到http://client.com,以便在没有浏览器错误的情况下将它们正确地重定向到新页面?

3 个答案:

答案 0 :(得分:1)

您需要为client.com提供证书才能执行此操作。 使用SNI(服务器名称指示),您可以在同一IP上拥有两个单独的证书。或者,您可以购买包含两个名称的证书。

如果您可以在没有client.com证书的情况下重定向,攻击者可能会使用DNS缓存中毒或其他攻击并接管您的网站。

答案 1 :(得分:0)

有必要在DNS中进行更改,即添加别名(CNAME) 示例:

client.com. CNAME client-partner.com.

答案 2 :(得分:0)

所以你有计划将所有内容移到client-partners.com但是在最终移动完成之前应用了ssl更改,然后htaccess中的重定向是你最好的方法,这已在这里得到解答:

Https to http redirect using htaccess

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

然而,这不会修复浏览器隐私错误,因为在请求HTTPS页面时,通信过程中的第一件事就是建立加密的TCP连接,一旦完成,数据传输就开始了,包括请求的页面。 / p>

避免该错误的唯一方法当然是获得新证书,您可以从Lets Encrypt获取client.com的免费SSL。