在最近发现 Poodle 漏洞后,我们的团队决定从 SSLv3 继续前进。但彻底清除之前,他们要提醒的日常用户,他们的浏览器使用过时的SSLv3。于是,我们萌生了这样的想法
然后我们的后端代码将处理该标头并在客户端使用 SSLv3 时发出警告。
我知道 nginx 有功能proxy_set_header。所以这个很简单
proxy_set_header X-HTTPS-Protocol $something;
Run Code Online (Sandbox Code Playgroud)
现在,问题是:显然 nginx 知道客户端使用的协议,但是如何通过 HTTP 标头将该信息传递给后端?
谢谢
正如类似线程Apache redirect user 如果他们使用 SSLv3所指出的那样,这个想法可能变得非常非常糟糕。
原因是 TLS 握手发生在 HTTP 流量通过 TLS 隧道发送之前。当我们的后端检测到 SSL 协议时,客户端可能已经在他的第一个请求中发送了私有数据。对于永久和长期解决方案,我们应该考虑禁用 SSLv3。
mas*_*oeh 15
Nginx 使用了许多可以在配置中使用的变量。此页面提供了变量的完整列表。在 HTTPS 请求中保存协议的变量是ssl_protocol. 引文:
Run Code Online (Sandbox Code Playgroud)$ssl_protocol返回已建立的 SSL 连接的协议;
所以你的proxy_set_header配置是
proxy_set_header X-HTTPS-Protocol $ssl_protocol;
Run Code Online (Sandbox Code Playgroud)
另一个参考:这里
| 归档时间: |
|
| 查看次数: |
12646 次 |
| 最近记录: |