确定负载均衡器后面的SSL连接

时间:2009-03-23 21:04:04

标签: ssl load-balancing

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

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

2 个答案:

答案 0 :(得分:1)

我认为我更喜欢标题。在URL中添加内容会产生一种可能性,无论多么微小,您都会与应用想要使用的查询字符串参数发生冲突。自定义标题会更容易。

第三个选项可能是让ssl连接重定向到另一个端口,比如说8080,所以在后端你知道端口80连接是http开始,端口8080连接是443开始,即使那时他们都是http。

答案 1 :(得分:1)

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