![如何更改 HTTPS 请求的响应,或强制从 HTTPS 重定向到 HTTP?](https://linux22.com/image/646981/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20HTTPS%20%E8%AF%B7%E6%B1%82%E7%9A%84%E5%93%8D%E5%BA%94%EF%BC%8C%E6%88%96%E5%BC%BA%E5%88%B6%E4%BB%8E%20HTTPS%20%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20HTTP%EF%BC%9F.png)
我在一家 ISP 工作。我们实施了一个系统,如果用户账户中的资金用完,那么他的浏览器将只显示一个特定的 HTML 页面。无论用户因何种原因断开了互联网连接,都可以从该页面找到他。
如果浏览器向 HTTP 发出请求,则没有问题。但是,如果通过 HTTPS 发出请求,则不清楚如何替换此页面,因为在使用其证书配置 Nginx 时,浏览器会给出证书错误,并且我们的网页不会显示。重定向到 HTTP 也会失败,因为浏览器尚未建立安全连接。
我怎么解决这个问题?
答案1
简而言之,您不能。这就是 SSL 的特定用途。如果您能做到这一点,并让客户的浏览器相信他期望的网站是真实的,那么您就破坏了 SSL 的根本基础。
您唯一能做的就是首先进行第 4 层重定向到另一个网站(然后最终通过 HTTP 301 应答重定向),但您始终会收到来自浏览器的警报。