我们有一些遗留的ASP.NET代码,用于检测请求是否安全,并在需要时重定向到https版本的页面。ASP.NET Request.ServerVariables [“SERVER_PORT_SECURE”]和代理SSL通过负载平衡器
此代码使用Request.ServerVariables [“SERVER_PORT_SECURE”]来检测是否需要SSL。
我们的运营小组建议在负载均衡器(F5 Big-IP)上代替Web服务器(假设出于此问题的目的,这是一项要求)执行代理SSL。
其后果是所有请求都以HTTP身份显示给Web服务器。
我的问题:我们如何才能让Web服务器知道传入的连接在它到达负载均衡器之前是安全的?我们可以继续使用Request.ServerVariables [“SERVER_PORT_SECURE”]?
你知道负载均衡器配置将发送标题,以便不需要更改应用程序代码吗?
我只是感到惊讶,鉴于Request.IsSecureConnection已存在7年,他们将使用此方法来检测安全连接。 – 2010-03-11 19:49:00
我想我们可以梳理我们的遗留代码并进行这些类型的更改...但是投资回报率是多少?它能解决任何问题吗? – frankadelic 2010-03-12 04:52:48
不存在你的情况,因为你的连接总是在F5后面看起来不安全。您需要写入标题并在Global.asax.cs中查看Begin Request。 – 2010-03-15 20:48:18