ASP.NET Request.ServerVariables[“SERVER_PORT_SECURE”] 和负载均衡器的代理 SSL

发布于 2024-08-24 23:55:09 字数 426 浏览 4 评论 0原文

我们有一些遗留的 ASP.NET 代码可以检测请求是否安全,并在需要时重定向到页面的 https 版本。

此代码使用 Request.ServerVariables["SERVER_PORT_SECURE"] 来检测是否需要 SSL。

我们的运营团队建议在负载均衡器 (F5 Big-IP) 而不是 Web 服务器上执行代理 SSL(假设出于本问题的目的,这是一项要求)。

结果是所有请求都以 HTTP 形式发送给 Web 服务器。

我的问题:我们怎样才能让网络服务器知道传入连接在到达负载均衡器之前是安全的?我们可以继续使用 Request.ServerVariables["SERVER_PORT_SECURE"] 吗?

您是否知道负载均衡器配置将发送标头,以便不需要更改应用程序代码?

We have some legacy ASP.NET code that detects if a request is secure, and redirects to the https version of the page if required.

This code uses Request.ServerVariables["SERVER_PORT_SECURE"] to detect if SSL is needed.

Our operations team has suggested doing proxy SSL at the load balancer (F5 Big-IP) instead of on the web servers (assume for the purposes of this question that this is a requirement).

The consequence would be that all requests appear as HTTP to the web server.

My question: how can we let the web servers known that the incoming connection was secure before it hit the load balancer? Can we continue to use Request.ServerVariables["SERVER_PORT_SECURE"]?

Do you know of a load balancer config that will send headers so that no application code changes are needed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倦话 2024-08-31 23:55:09

使用 iRule 有效地将自定义元素添加到 HTTP 标头,然后通过 Request.Headers 在 ASP.NET 代码中检测它。深入研究 Request.Headers 对象的集合,您的 F5 硬件可能已经在 HTTP 标头之一上标记了自己。

Use an iRule to effectively add a custom element to the HTTP header and then detect it in the ASP.NET code via Request.Headers. Dig into the collection of the Request.Headers object as well as your F5 hardware may already be marking itself on one of the HTTP Headers anyway.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文