Amazon web services 带HTTP2的AWS应用负载平衡器

Amazon web services 带HTTP2的AWS应用负载平衡器,amazon-web-services,amazon-ec2,amazon-elb,http2,Amazon Web Services,Amazon Ec2,Amazon Elb,Http2,我在负载平衡器后面的许多EC2实例上部署了一个RESTful应用程序。 身份验证部分由名为“X-App-Key”的自定义请求头处理 我刚刚将我的经典负载平衡器迁移到应用程序负载平衡器,我开始遇到一些间歇性问题,其中一些有效请求(通过使用CURL进行测试)无法通过某些用户的身份验证。看起来自定义请求头只是间歇性地被传递。使用apache bench时,500个请求中大约有100个失败。 如果我用一个经典的负载平衡器进行测试,所有500个都会成功 我进一步研究了一下,发现失败的用户使用的是稍微更新的

我在负载平衡器后面的许多EC2实例上部署了一个RESTful应用程序。 身份验证部分由名为“X-App-Key”的自定义请求头处理

我刚刚将我的经典负载平衡器迁移到应用程序负载平衡器,我开始遇到一些间歇性问题,其中一些有效请求(通过使用CURL进行测试)无法通过某些用户的身份验证。看起来自定义请求头只是间歇性地被传递。使用apache bench时,500个请求中大约有100个失败。 如果我用一个经典的负载平衡器进行测试,所有500个都会成功

我进一步研究了一下,发现失败的用户使用的是稍微更新的CURL版本,特别是来自这些用户的请求使用的是HTTP2。如果我在CURL请求中添加“-http1.1”,它们都可以通过

因此,这些问题似乎是我们在新一代应用程序负载平衡器和HTTP2中使用自定义请求头所特有的


我做错什么了吗

您可能必须在loadbalancer中启用

它们需要保持会话对同一实例的开放性


但是,在应用程序级别,它需要保持会话处于活动状态,并且在某些服务中并不真正有用(取决于系统的性质,不推荐使用),因为它会降低REST类系统的性能。

我在这篇文章中找到了答案

标题似乎是用小写字母从ALB传递过来的。我需要更新我的后端来支持这一点