我曾经使用 SSL 证书运营网站,但已经停止使用 SSL 证书。问题是大多数网站的外部链接都使用 https:// 前缀。
我在 .htaccess 文件中尝试了 https:// 到 http:// 重定向:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}
但是,正如其他地方所指出的那样,服务器似乎正在尝试在激活重定向之前检索证书。因此,在完成重定向之前会显示错误。该错误要么是证书已过期的警告,要么是如果我删除了证书签名请求,则会出现 SSL 收到超过最大允许长度的记录的错误。
有什么方法可以正确重定向传入链接?
http 和 https 之间的区别在于 https 请求是通过 ssl 加密连接发送的。在浏览器发送 http 请求之前,必须在浏览器和服务器之间建立 ssl 加密连接。
https 请求实际上是通过 ssl 加密连接发送的 http 请求。如果服务器拒绝建立 ssl 加密连接,那么浏览器将没有连接来发送请求。浏览器和服务器将无法相互交谈。浏览器将无法发送它想要访问的 url,服务器将无法通过重定向到另一个 url 来响应。
所以这是不可能的。如果你想响应 https 链接,那么你需要一个 ssl 证书。
不,如果可以在没有真实证书的情况下从 https 重定向到 http,那将是一个主要的安全漏洞。
考虑到犯罪分子能够以某种方式使银行安全服务器重定向到不安全的连接而无需站点的真实 https 证书,这将允许犯罪分子在用户不知情的情况下劫持连接。
我能看到的唯一解决方案是获得一个便宜的证书,然后从 HTTPS 站点(用户没有有效证书就无法访问)正常重定向到这些外部链接的常规站点。
您应该在 .htaccess 中创建