问题描述
我使用 Nginx 作为反向代理来缓存我的 POST 请求并编写了以下配置:
http {
gzip on;
gzip_proxied any;
gzip_types text/plain application/json;
gzip_min_length 1000;
proxy_cache_path /var/cache/Nginx levels=1:2 keys_zone=FLOWS:100m inactive=24h max_size=2g use_temp_path=off;
server {
listen 3200;
location /api/flows-page-v1 {
proxy_pass http://app:3000/api/flows-page-v1;
proxy_set_header Host $host;
proxy_buffering on;
proxy_cache FLOWS;
proxy_cache_methods POST;
proxy_cache_key "$request_uri|$request_body";
proxy_cache_valid 200 1d;
client_body_buffer_size 512k;
proxy_buffers 6 128k;
proxy_buffer_size 512k;
proxy_busy_buffers_size 512k;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
add_header X-Cached $upstream_cache_status;
}
}
}
[crit] 20#20: *2 cache file "/var/cache/Nginx/6/fb/bee5677b8b46add7cfef279105773fb6" is too small
从源代码来看,以下片段似乎会导致此错误,因此缓存 MISS (Nginx/src/http/ngx_http_file_cache.c):
if ((size_t) n < c->header_start) {
ngx_log_error(NGX_LOG_CRIT,r->connection->log,"cache file \"%s\" is too small",c->file.name.data);
return NGX_DECLINED;
}
我应该怎么做才能避免这个错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)