如果您的客户端使用HTTPS,且客户端对于HTTP/2的支持存在问题,但是不便修改,可以在ASM网关侧禁用HTTP/2协议。本文介绍如何在入口网关侧HTTPS中禁用HTTP/2。
前提条件
步骤一:确认默认配置
执行以下命令,访问ASM网关,验证当前的ALPN协议最终使用HTTP/2。
curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:${ASM网关IP地址} https://b.aliyun.com/status/418 -v
预期输出:
预期输出表明客户端提供的ALPN列表有HTTP/2和HTTP/1.1。默认情况下,网关优先使用HTTP/2。
步骤二:在使用HTTPS协议时,禁用HTTP/2
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择
。在入口网关页面右侧,单击目标网关对应的查看YAML,在编辑对话框的
spec
字段下,配置podAnnotations
,然后单击确定。podAnnotations: proxy.istio.io/config: | httpsHttp2Disabled: true
说明该配置会导致网关重启。
步骤三:验证HTTP/2是否在HTTPS中被禁用
执行以下命令,访问ASM网关。
curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:${ASM网关IP地址} https://b.aliyun.com/status/418 -v
预期输出:
预期输出表明客户端提供的ALPN列表只有HTTP/1.1,HTTP/2禁用成功。