Nginx:读取临时缓存文件

Nginx:读取临时缓存文件

我使用ngx_http_proxy_modulewithproxy_ignore_client_abort来缓存文件。因此,当客户端关闭连接时,nginx 将继续将文件从后端复制到当前服务器。

但是当另一个用户尝试获取此文件(仍在复制)时,nginx 将转到后端获取文件的新副本,并尝试缓存它。

我可以用proxy_cache_lock它来防止这种情况。但这不是一个好主意,因为文件可能非常大,并且文件缓存时需要等待很长时间。

我怎样才能告诉 nginx 读取这个临时文件而不是等到文件被缓存?

答案1

您正在寻找传递过期对象缓存。如果出现错误、后端超时或更新时,可以执行此操作。

proxy_cache_use_stale updating error timeout;

相关内容