我通过实例模板创建了一个实例组,并将此实例组与http负载均衡器使用的后端服务对齐。
现在,当我从我创建的实例组中打开一个实例vm的url时,我可以执行GET
POST
和DELETE
个请求,并且所有请求都很快,而且所有请求都是按预期工作。
当我打开负载均衡器的静态IP网址时。我可以执行GET
和POST
次请求,但DELETE
次请求会向400 BAD REQUEST
发送一个响应页面,说明:
这是一个错误。
您的客户发出了格式错误或非法的请求。这就是我们所有人 知道。
其他负载均衡器问题:
我的VM api访问权限设置为此实例具有对所有Google Cloud服务的完全API访问权限
我使用Django作为我的api层,我打开了这个主机上的调试,发现DELETE
请求在通过loadbalancer static ip发出请求时甚至没有通过。我是否缺少防火墙设置?
请帮助我再次快速执行此操作并允许DELETE
请求发生。
谢谢!
答案 0 :(得分:7)
您是否在请求正文中发送任何内容?
如果您尝试在正文中发送任何内容,Google负载均衡器将以400 BAD REQUEST
回复。检查这是否是问题的简单方法是激活Chrome开发人员工具并检查“请求有效负载”部分是否为空/不存在。
HTTP规范并没有明确表示你可以传递身体中的任何东西,所以这不是错误的,只是未定义。
对于所有请求,还是仅包含大量元素的页面,负载均衡器是否会变慢?