kong manager页面显示空白,报错net:ERR_HTTP2_PROTOCOL_ERROR

故障描述

kong manager 页面打开后显示空白, 打开浏览器检查-网络查看加载url, 发现有三个资源加载异常, http code 200, 但是显示net:ERR_HTTP2_PROTOCOL_ERROR

image-20230728143410682

故障排查

使用curl 访问失败资源

结果http code 200, 但是数据结果返回不完整,并且报错curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2),部分内容如下:

登录相同网关但非k8s集群内主机 curl 测试

结果也是数据加载不完整,但是报错与直接外网访问有些不同,错误信息为curl: (18) transfer closed with outstanding read data remaining, 部分内容如下:

查看kong服务日志

发现如下异常日志

原来是 访问 失败的js 使用http2 协议时会缓存数据到 /kong_proxy/proxy_temp/6 提示没有限制而失败

进制kong 服务pod debug

发现 proxy_temp 目录为root owner, 这个是因为最近修改error_template_html 挂载到这个目录,导致这个目录owner 变为root

解决问题

修改helm values 中 error template html 相关配置内容,修改挂载目录到一个新目录,不影响原有proxy_temp 目录

更新helm chart

等Kong 服务正常更新启动后,再访问kong manager 页面后正常

参考

https://developer.aliyun.com/article/975820

Last updated