3

在这里寻找最佳实践。我们在负载均衡器级别处理 SSL 连接,因此从负载均衡器到 Web 服务器的所有连接都是 http。这样我们就无法知道客户端与我们的 Web 服务器建立什么样的连接,因为所有连接都是通过 http 进行的。我们目前有两种解决方案,一种是让负载均衡器在 URL 字符串中附加一个端口号,以便我们可以确定请求的类型(例如,80 表示 http,443 表示 https)。另一种解决方案是负载均衡器在收到 https 请求时附加一个特殊的标头,以便 Web 服务器知道连接的类型。

您在这两种解决方案中都看到了缺点吗?是否有关于在负载均衡器级别而不是 Web 服务器级别应用 SSL 的最佳实践?

4

2 回答 2

1

我想我更喜欢标题。在 URL 中添加一些内容会产生与应用程序想要使用的查询字符串参数发生冲突的可能性,但这种可能性很小。自定义标题会更容易。

第三种选择可能是让 ssl 连接重定向到不同的端口,比如 8080,所以在后端你知道端口 80 连接从 http 开始,端口 8080 连接从 443 开始,即使它们是那时都http。

于 2009-03-23T21:08:43.960 回答
1

我建议使用标题。一个相关的概念是确定客户端的 IP 地址(用于记录目的),因为对 Web 服务器的所有请求似乎都源自负载平衡器。x-forwarded-for此处通常使用标头。

于 2009-03-24T19:53:23.523 回答