在这种情况下......客户的公司在网址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,以便在没有浏览器错误的情况下将它们正确地重定向到新页面?
答案 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。