m2使用CloudFlare后出现 net::ERR_HTTP2_PROTOCOL_ERROR 200的问题
m2使用CloudFlare后出现 net::ERR_HTTP2_PROTOCOL_ERROR 200的问题
有个magento2网站使用CloudFlare做cdn缓存后,打开后台产品编辑页面的时候总是不对,始终有一个文件无法获取,发现是tinymce.min.js这个js文件加载失败failed.
控制台提示报错:net::ERR_HTTP2_PROTOCOL_ERROR 200,后面在网上搜索得到解决方案,在 nginx config server 里加上 proxy_max_temp_file_size 0
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name xxx.com; proxy_max_temp_file_size 0; }
具体原因是:
nginx 把返回的文件先放到缓冲区当中,然后再返回给客户端,边收边传,不是全部接收完再传给客户端,接在 CloudFlare 上出现了问题。
参考:
https://blog.asec01.net/Nginx-HTTP2-PROTOCOL-ERROR-200/
https://www.shellj.me/2020/03/cloudflare-net-err-http2-protocol-error-200.html