gpt4 book ai didi

amazon-web-services - 为什么我必须在 AWS Application Load Balancer 中禁用 HTTP/2 以防止出现 ERR_SPDY_PROTOCOL_ERROR?

转载 作者:行者123 更新时间:2023-12-04 08:17:38 25 4
gpt4 key购买 nike

当我使用应用程序负载均衡器 (ALB) 将我的 Web 应用程序部署到 AWS 环境时,我的某些 Web 服务端点不会返回任何数据并且我的 Chrome 浏览器会报告此错误http 调用:ERR_SPDY_PROTOCOL_ERROR

找到this recommendation ,我在我的 ALB 配置中禁用了 HTTP/2 支持,现在一切正常。

为什么我必须在我的 ALB 中禁用 HTTP/2?这里的根本问题是什么?我是否需要更改网络服务代码中的某些内容才能使用 HTTP/2

更新

这里是响应头:

HTTP/1.1 200
Date: Wed, 09 Jan 2019 21:39:13 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Locations Reached: Data to populate locations reached map

正如以下答案之一所暗示的,罪魁祸首可能是我的一个标题(到达的位置)的名称中有一个空格,这是无效的/格式错误的。我会确保用破折号代替空格。

最佳答案

通常意味着您有一个无效的 HTTP/2 header 。 HTTP/2 在这方面比 HTTP/1.1 更严格。

因此,带有冒号、空格、换行符的 HTTP header 名称(例如,打开引号但忘记在您的配置中关闭引号)以及名称中的类似名称是无效的(这些可以存在于 header 值中但不存在于名称中) .

有关如何调试的详细信息,请参见此处:https://www.michalspacek.com/chrome-err_spdy_protocol_error-and-an-invalid-http-header .

将您的 HTTP/1.1 响应 header 添加到您的问题中,也许能够为您指明正确的方向。

关于amazon-web-services - 为什么我必须在 AWS Application Load Balancer 中禁用 HTTP/2 以防止出现 ERR_SPDY_PROTOCOL_ERROR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54117577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com