解决nginx错误net::ERR_INCOMPLETE_CHUNKED_ENCODING

在chrome里打开一个网页的时候报错:net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

网上说的其实并不一定对:

当nginx作为反向代理服务器时,输出的代理文件大小超过配置项 proxy_temp_file_write_size 所设置的值时,nginx 会将文件写入到配置项 proxy_temp_path 所设置的临时目录下。但是当前运行 nginx 的用户没有 proxy_temp_path 的读写权限,则文件写入就会失败。结果就是导致 nginx 返回给 chrome浏览器的内容为空,即无任何输出,从而出现net::ERR_INCOMPLETE_CHUNKED_ENCODING 的错误。

具体还是要查nginx的error.log:(error.log的具体路径要看nginx的配置)

*39 open() "/usr/local/var/run/nginx/fastcgi_temp/3/01/0000000013" failed (13: Permission denied)

把nginx的fastcgi_temp配置路径指定到有权限的目录:

fastcgi_temp_path /Users/****;

下面是容易出错的一些nginx的配置:

error_log  /usr/local/opt/nginx/logs/error.log;

http {
    #proxy缓存设置
    proxy_buffer_size 100m;

    proxy_buffers 4 100m;
    proxy_busy_buffers_size 100m;
    proxy_temp_file_write_size 100m;
    client_body_buffer_size 100m;
    client_max_body_size 100m;


    access_log  /usr/local/opt/nginx/logs/access.log;
    proxy_temp_path /Users/***;
    fastcgi_temp_path /Users/***;

}

有话要说