【发布时间】:2011-01-26 13:10:58
【问题描述】:
我们有一些旧的 ASP.NET 代码可以检测请求是否安全,并在需要时重定向到页面的 https 版本。
此代码使用 Request.ServerVariables["SERVER_PORT_SECURE"] 来检测是否需要 SSL。
我们的运营团队建议在负载均衡器 (F5 Big-IP) 上而不是在 Web 服务器上执行 SSL 代理(出于本问题的目的,假设这是一项要求)。
结果将是所有请求都以 HTTP 的形式出现在 Web 服务器上。
我的问题:我们如何让 Web 服务器在传入连接到达负载均衡器之前知道它是安全的?我们可以继续使用 Request.ServerVariables["SERVER_PORT_SECURE"] 吗?
您知道将发送标头以便无需更改应用程序代码的负载平衡器配置吗?
【问题讨论】:
-
我很惊讶,因为 Request.IsSecureConnection 已经存在了 7 年,他们会使用这种方法来检测安全连接。
-
我想我们可以梳理遗留代码并进行这些类型的更改...但是投资回报率是多少?能解决什么问题吗?
-
不适合您的情况,因为您的连接在 F5 后面似乎总是不安全。您需要写入标头并在 Global.asax.cs 中检查开始请求。
标签: asp.net iis ssl https load-balancing