我们有一些遗留的ASP.NET代码可以检测请求是否安全,并在需要时重定向到页面的https版本。
此代码使用 Request.ServerVariables [“SERVER_PORT_SECURE”] 来检测是否需要SSL。
我们的运营团队已建议在负载均衡器(F5 Big-IP)上而不是在Web服务器上执行代理SSL(假设出于此问题的目的,这是一项要求)。< / p>
结果是所有请求都显示为Web服务器的HTTP。
我的问题:如何让Web服务器知道传入连接在到达负载均衡器之前是否安全?我们可以继续使用 Request.ServerVariables [“SERVER_PORT_SECURE”] 吗?
您是否知道将发送标头的负载均衡器配置,以便不需要更改应用程序代码?
答案 0 :(得分:2)
使用 iRule 有效地将自定义元素添加到HTTP标头,然后通过Request.Headers
在ASP.NET代码中检测它。深入了解Request.Headers对象的集合以及您的F5硬件可能已经在其中一个HTTP标头上标记了自己。