我已将我的应用程序编码为使用 https,但如果 https 事务由于任何原因失败,我认为这是因为服务器未配置为 https,然后使用 http 启动所有事务。似乎这是一个漏洞。同样,一个脚本小子使用代理拦截其客户端硬件上的流量将能够使所有 https 事务失败。
有人告诉我,如果有人尝试 MITM 您的应用程序的 HTTPS 请求,那么请求应该失败(无效证书)并且您的应用程序应该失败并出现错误,而不是回退到 HTTP。当然,在 SSL 可靠可用的世界中,维护有效的 SSL 证书本身就是一项任务。例如,由于一些安全问题,letsencrypt 最近撤销了他们的一些证书并强制更新。除了吊销之外,证书是短期的并且必须更新,更新过程涉及很多缝合工具,并且可能会失败。如果 SSL 出现故障,我不希望我的网站变暗。
什么是最好的指导:
更可靠地维护证书(这样,如果它们确实失败了,由此产生的停机时间落在“五个九”SLA 不可用窗口内),而不会让人头疼,或者
如果 SSL 失败,是否允许站点继续工作?允许大多数活动使用 http 进行是否容易,但允许已知的关键事务需要 https。
请注意,与我有关的场景中不涉及任何浏览器。