net::ERR_HTTP2_PROTOCOL_ERROR
Ajax请求出现错误net::ERR_HTTP2_PROTOCOL_ERROR,定位为CDN配置不合理造成。
本周遇到了Ajax请求出现错误net::ERR_HTTP2_PROTOCOL_ERROR的问题。具体的错误表现为:
- 请求耗时较大时容易复现;
- 针对上传特定文件类型容易复现;
- 浏览器控制台中仅提示
net::ERR_HTTP2_PROTOCOL_ERROR错误,没有收到API的响应数据; - 发生错误时,业务请求在服务端没有收到错误日志,且业务流程正常完成。
起初认为就是简单的Ajax请求超时问题,但在修改设置后问题依旧。后续又检查了Nginx、php等各种环境设置,修改了各种可能有影响的超时设置等尝试解决问题,几经折腾后最终定位问题:使用的CDN服务超时设置不合理。
在域名开启CDN后,当时直接采用默认配置,没有过多关注细配置细节。实际上,有动态API接口(特别是文件上传接口)的域名启用CDN后应该确保API请求全部回源,且需要将回源时间调大一些:
- 回源TCP链接时间;
- 回源加载时间。
版权信息:本文为 kanchuan.com 原创,转载时请明确注明本文链接。
相关文章:
Cloudflare使用指南之自定义主机名
CDN 流量由腾讯云切换至 Cloudflare
腾讯云 CDN 的 X-Cache-Lookup
使用CDN提升网站访问速度

留言板