0

我在 SSL 代理负载均衡器后面的 Google Cloud 上有一个 HTTP 后端服务器。

如果客户端在端口 80 上发出 HTTP 请求,负载均衡器会返回 404。如果可能,我想将端口 80 请求重定向到端口 443。

我的第一个问题是:SSL 代理负载均衡器能否同时监听端口 80 和端口 443,但仅终止端口 443 上的 SSL?

如果是这样,我的第二个问题是:后端能否以某种方式确定负载均衡器是否终止了 ssl?

如果我使用 HTTP(S) 负载均衡器,这一切都是微不足道的,我可以只看一下X-Forwarded-Proto,但在这种情况下,我们使用的是 tcp 负载均衡器,没有 HTTP 标头,所以我想知道是否同样的事情以某种方式是可能的。PROXY 协议似乎不包含此信息。

也许负载均衡器可以将流量从 80 端口转发到后端的 8080 端口,并将流量从 443 端口转发到后端的 8443 端口,这样我们就知道它来自哪里。SSL 代理负载均衡器是否支持这样的东西?

在我的情况下,我不能使用 HTTP(S) 负载平衡器,因为我需要禁止 HTTP/2。

我也可以只使用 TCP 代理并在后端处理 SSL 终止,但我想使用 Google 托管证书。

4

1 回答 1

0

我的第一个问题是:SSL 代理负载均衡器能否同时监听端口 80 和端口 443,但仅终止端口 443 上的 SSL?

不可以。SSL 代理负载均衡器不理解第 7 层流量 (HTTP/HTTPS)。

如果您希望负载均衡器将用户重定向到 HTTPS,那么您将需要使用 HTTP(S) 负载均衡器或另一个第 7 层负载均衡器。

由于您想阻止 HTTP/2,因此您需要创建自己的负载均衡器设置。

也许负载均衡器可以将流量从 80 端口转发到后端的 8080 端口,并将流量从 443 端口转发到后端的 8443 端口,这样我们就知道它来自哪里。SSL 代理负载均衡器是否支持这样的东西?

不可以。SSL 代理负载均衡器支持 TLS 加密流量,不支持未加密流量。端口 80 (HTTP) 通常是未加密的。

此外,仅支持这些 TCP 端口 25、43、110、143、195、443、465、587、700、993、995、1883 和 5222。

于 2020-03-22T23:21:42.283 回答