405 错误 - 使用 GCP 负载均衡器处理 CONNECT 请求

405 错误 - 使用 GCP 负载均衡器处理 CONNECT 请求

我在让负载均衡器将连接请求转发到 GCP 中的实例组时遇到了问题。

概述:

我在实例组中设置了充当代理服务器的实例。它们正在运行并单独运行(使用自己的 IP 地址,代理运行良好)

但是,当尝试将实例组与负载均衡器一起使用时(已尝试过 TCP、HTTP2 和 HTTP),我收到所有实例组均显示的 405“CONNECT 方法不适合此 URL”。

我是不是漏掉了什么?我将防火墙配置为接受所有流量(是的,我知道这很愚蠢),设置亲和性以将客户端 IP 流量路由到已知 VM 以保持套接字打开,等等。

谢谢!

答案1

负载均衡器在将请求发送到后端之前不会过滤请求,它只是将传入的请求转发到后端服务。

此响应意味着请求行中收到的方法为原始服务器所知,但目标资源不支持,警告客户端该方法(动词)不受支持;这是 HTTP 服务器正常操作的一部分。1

我建议检查主机 URL 和域是否在 Web 服务器配置和转发规则中正确定义。

此外,这可能与 Web 服务器或软件组件配置错误有关,这些组件应该针对所需的 URL 资源执行相应的操作。此响应可能使用 POST 方法发生,该方法是输入数据所必需的,出于安全原因,在访问 HTML 文档时会被阻止。也许在您的服务中强制执行该方法可以解决此问题。

要进一步调查此问题,您需要提供更多日志信息。我想您是从 Stackdriver 日志中发现这些信息消息的。


答案2

我之前遇到过类似的问题。我发现我的路径设置为 /api 而不是 /api/*。发生了这个确切的错误。要解决此问题,请检查负载均衡器设置或 Cloud Armor 设置。

相关内容