NGINX头请求返回文件是否被缓存

时间:2014-01-16 13:38:56

标签: caching nginx proxy

我有一个客户端应用程序需要使用NGINX作为代理,我需要NGINX以下列方式响应HEAD请求:

  1. 如果文件已缓存,请返回代码200。
  2. 如果文件未缓存,则返回不同的响应代码(不是200,例如204或 410)并缓存该文件,以便它可以从缓存中获得 后续请求。
  3. 这可以通过配置NGINX以及如何实现吗?

    即使文件没有被缓存,NGINX也会返回200,但是设置一个特殊的响应头来通知客户端应用程序该文件没有被缓存。

1 个答案:

答案 0 :(得分:2)

您可以使用add_header指令:

http {
    ....
    add_header X-Cache $upstream_cache_status;
    ....
 }

在X-Cache标头中获取适当的MISS或HIT状态。