CloudFlare出现 net::ERR_HTTP2_PROTOCOL_ERROR 200 解决方法

Posted by shellj on
今天新上了一个demo网站,使用了 CloudFlare 做 CDN,但打开页面的时候总是不对,始终有一个文件无法获取,报错: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 上出现了问题。