【问题标题】:Issue with request body in OPTIONS or DELETE request with google load balancerOPTIONS 中的请求正文问题或使用谷歌负载均衡器删除请求
【发布时间】:2016-03-16 23:31:26
【问题描述】:

我的服务器端设置是这样的:我有一个运行 nodejs 服务器的谷歌计算引擎实例。它位于 https 负载均衡器后面。

所以问题是,如果将 OPTIONS 类型的请求与 body(payload) 一起发送到负载均衡器 ip,它有时会失败并返回 502。我已经检查过,在所有这些请求中,节点服务器正在返回并记录正确的响应。如果请求正文为空,它会完美运行。

但是,当我直接点击 GCE 的 ip 时,无论请求正文是否存在,它都可以正常工作。

例如 这是负载均衡器 ip(启用了 ssl)

选项https://130.211.14.60/health

这是直接GCE机器ip(不带ssl)

选项http://104.199.159.212:8002/health

我已经通过使用 Postman 应用程序多次(实际上是数百次)发送请求进行了检查。

而且这个问题只存在于 DELETE 和 OPTIONS 类型的请求中。 GET/POST/PUT 运行良好。

有没有人可以指出问题可能是什么以及如何解决它。

【问题讨论】:

    标签: load-balancing google-cloud-platform


    【解决方案1】:

    来自 Google 的文档 -

    HTTP(S) 负载平衡器不支持向负载平衡器发送带有正文的 HTTP DELETE。此类请求将收到错误消息:错误 400(错误请求)!!您的客户发出了格式错误或非法的请求。仅支持没有正文的 DELETE 请求。

    更多信息here

    【讨论】:

      【解决方案2】:

      2018 年 12 月发布的 Google 负载均衡器现在支持此功能。

      更多信息here

      【讨论】:

        猜你喜欢
        • 2020-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-26
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        • 2013-12-09
        相关资源
        最近更新 更多