1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 当您将ALB目标组协议启用为HTTP/2时,需要确保目标也支持协议版本HTTP/2。例如,如果您正在使用nginx,则可以将服务器部分更新为:
server {
listen 80 http2 ;
listen [::]:80 ;
如果服务器未配置为支持HTTP/2协议版本,则目标服务器将向ALB发送 400 错误请求。我在我的环境中进行了测试,并且从目标捕获的数据包显示向ALB发送了以下400错误请求响应。
PRI * HTTP/2.0
HTTP/1.1 400 Bad Request
Server: nginx/1.20.0
Date: Thu, 23 Feb 2023 05:06:42 GMT
Content-Type: text/html
Content-Length: 157
Connection: close
<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.20.0</center>
</body>
</html>
ALB向目标的请求数据包:
当ALB从目标获取此400 错误请求响应时,它可能向客户端生成502错误请求代码。
如果您已经为HTTP2配置了目标,则可以在此处检查其他可能的502原因 https://aws.amazon.com/premiumsupport/knowledge-center/elb-alb-troubleshoot-502-errors/。
就性能而言,当您拥有端到端的HTTP2时,压缩头可以节省一些数据传输成本。
相关内容
- AWS 官方已更新 5 个月前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前