目录
记一次http2报错ERR_HTTP2_PROTOCOL_ERROR
今天开始在服务器上部署网站
配置https后,启用http2一直报错
ERR_HTTP2_PROTOCOL_ERROR
情况
nginx 返回200
php-fpm 日志正常
浏览器报 ERR_HTTP2_PROTOCOL_ERROR
不开启H2的http\https 请求正常
过程
一开始一直以为时nginx配置问题。
例如:
1、在反向代理时 需要在location中配置
proxy_max_temp_file_size 0;
2、低版本nginx 需要写
ssl on;
在检查版本和校对配置后发现问题不在nginx。
最后在一篇文字中发现
请求返回的header信息有误的时候也会报这个错误。
重新回到代码中,经过排查:
在输出html时,header 写少了
content-type: text/html; charset=UTF-8
总结
本地开发环境是http,即便是写错了也不影响运行,类似问题是很容易被忽略