当 SSL 证书不再有效时从 https 重定向到 http

Posted

技术标签:

【中文标题】当 SSL 证书不再有效时从 https 重定向到 http【英文标题】:Redirect from https to http when the SSL cert is no longer valid 【发布时间】:2014-05-07 15:06:00 【问题描述】:

我有一台 IIS 6.0 服务器,但我不再使用 SSL 证书(由于一些功能更改不再需要它,没有我可以使用的有效证书)。有没有办法让我将用户重定向到已经将 https 加入书签的 http 站点?

我尝试使用自签名证书并将 URL 重写为 http 版本,但在我可以使用 web.config 重定向之前,浏览器会收到有关自签名证书的警告。

我还尝试删除端口 443 作为 HTTPS 绑定并将端口 443 添加为 HTTP 绑定,但没有成功。当我尝试启动该网站时,我收到一个错误,表明该端口已在使用中。

【问题讨论】:

"从 https 重定向到 http..." - 坏主意。提供机会加密的自签名证书比不加密要好。不要让破碎的浏览器安全模型让你做愚蠢的事情。坚持你的枪并使用自签名证书。或者,从Startcom 获得免费的 1 类证书。它适用于大多数移动和桌面浏览器。 购买了一个新证书来临时覆盖这个问题。更好的用户体验,而且价格也不贵。 【参考方案1】:

不,你不能。

从 HTTPS 到 HTTP 的重定向发生在发出初始 HTTPS 请求之后,并且此请求需要使用有效的证书。 如果您想做的事情是可能的,那么降级 MITM 攻击就太容易执行了。

也许完全关闭端口 443 可能会让您的用户也尝试纯 HTTP,但如果他们不知道您的网站,他们确实应该认为这是一种潜在的攻击。

【讨论】:

【参考方案2】:

这不可能是您想要的,因为它首先必须进行 SSL 连接(这会导致警告),然后才能获得 HTTP 重定向。而且,这个问题几乎每天都会被问到,所以你应该已经找到了足够的答案。

【讨论】:

以上是关于当 SSL 证书不再有效时从 https 重定向到 http的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess url 重写用于 ssl https 重定向

使用 Nginx 将 HTTP 重定向到 HTTPS

.htaccess 使用 SSL/HTTPS 将 www 重定向到非 www

Apache https 客户端身份验证或重定向

带有 mod24_ssl 的 Apache httpd24 不会从 http 重定向到 https

将 https 重定向到非 www 和 http 到 www