我最近遇到了一种情况,我正在运行的 Web 服务器无法再提供 HTTPS 流量(由于某些 SSL 证书问题)。由于服务器无法处理此流量,我无法使用 Apache 重定向规则重定向到非 https。然后,我尝试在我的防火墙/NAT 设备上将 XXXX:443 重定向到 XXXX:80,但似乎无法正常工作。
我不是在问如何做到这一点,因为它特定于我的基础设施和设备。但有可能做到这一点吗?一位同事建议这可能是不可能的,因为客户端正在请求安全连接,并且它失败了,因为我们以不安全的连接响应。这与使用 302 响应并强制客户端使用 apache 重定向对非 https 发出新请求不同。
没有。在防火墙上将端口 443 重定向到 80 只会重定向它。客户会期望启用 SSL 的东西会得到响应,而他们会得到普通的 HTTP 响应。这将导致错误(例如,
ssl_error_rx_record_too_long
)。您指的是所谓的SSL Offloading。当某些东西(基本上是启用 HTTPS 的 Web 服务器)从 HTTPS 流中卸载SSL/TLS 并从中生成 HTTP,然后将其传递给充当代理的 HTTP Web 服务器时。
显然,卸载程序不应该对任何证书有任何问题。
如果您可以默认降级 HTTPS 连接,则可以轻松执行 MITM 攻击,因此无论如何这种行为都是不可取的。
此外,在您的网络服务器甚至可以知道如何处理请求之前,需要建立 SSL 连接,因为请求本身已经被加密发送,因为请求数据可以至少与响应一样敏感(明文凭据。登录饼干。发布的内容....)