有时在 nginx 的日志里会碰到如下的日志错误:
cache file "/usr/local/openresty/nginx/cache/c/0c/1eb7633e809b8306294a2a7da39c80cc" has too long header
一般什么情况下,才会出现这个错误,我的 proxy_buffer_size 这些设置都是用的默认值。
google 搜索了一下,看到 nginx 的源代码里有如下的代码:
https://github.com/phusion/nginx/blob/master/src/http/ngx_http_file_cache.c if (h->body_start > c->body_start) {
ngx_log_error(NGX_LOG_CRIT, r->connection->log, 0,
"cache file \"%s\" has too long header",
c->file.name.data);
return NGX_DECLINED;
}
http://hg.nginx.org/nginx/rev/6f97afc238de 这个网站也有相应的说明
我自己也测试了一下,proxy_buffer_size 这些设置都是用的默认值,然后请求一个 2M 的文件,proxy_cache 的文件夹里也有缓存的文件,但是访问都是正常的,我还是无法复现这种错误,不知道什么情况下会出现这个错误
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/716891
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.