【发布时间】:2017-12-01 04:05:55
【问题描述】:
假设用户向http://example.com/data提出请求(get|post)
现在我已经设置好服务器,nginx,将所有请求重定向到 https。
所以浏览器再次发送请求,但通过 https 协议。
我的问题是服务器是否告诉浏览器在读取 http 标头后立即重定向,或者它可能已经在请求正文中获取数据,然后告诉浏览器请通过 https 发送。
因为如果是后者,敏感数据已经通过不安全的方法发送。
我知道为了防止这种情况,我可以在 html 文件中包含重定向,还有其他方法吗?
【问题讨论】:
-
“我知道为了防止这种情况,我可以在 html 文件中包含重定向,...” - 我怀疑这会有所帮助。如果要确保不使用 HTTP 传输敏感数据,则必须首先确保不尝试使用 HTTP 发送数据。可能有帮助的是 HSTS 标头,以便(至少支持的浏览器)在第一次访问后永远不会尝试 HTTP,或者您的服务器只支持 HTTPS 而根本不支持 HTTP,即与 HTTP 端口的 TCP 连接已经失败。跨度>
-
我的意思是,如果用户坚持通过 http 发送,那么我无能为力,我可以通过 HSTS 强制通过 HTTPS 发送,并通过服务器软件 (nginx) 等帮助自动重定向。 >
标签: node.js ssl redirect nginx https