Nginx不会减less最大年龄

我正在尝试将Nginx设置为运行在Unicorn上的Rails应用程序的反向代理。

我的应用程序有一些公共页面,我想caching60分钟的持续时间,所以我设置了最大年龄标题。

此外,我在Nginx的服务器块中添加了proxy_cache选项。

proxy_cache default; 

并定义了这个caching

 proxy_cache_path /var/www/nginx_cache keys_zone=default:10m max_size=500m; 

我已经build立了我的应用程序来添加这个头到我的可caching的响应

 Cache-Control: max-age=3600, public 

当客户第一次碰到页面时,页面被渲染并返回响应。 但是,在随后的请求中,nginx不会减lessmax-age计数器。

因此,访问者可能会在到期前一分钟访问我的页面,这意味着他正在看到59分钟的内容。 但是,将这个副本保存在他的浏览器中60分钟,然后才能得到一个新的副本。

我可以通过Nginx来减去所经过的时间,所以如果访问者点击一个已经在Nginxcaching中25分钟的页面,最大年龄将是35分钟(2100秒)?

你有完全错误的做法。

请阅读有关Nginx代理caching的更多信息http://nginx.org/en/docs/http/ngx_http_proxy_module.html

这也可以是有用的: 如何将Nginx设置为caching逆向代理?