缓存REST XML响应

时间:2018-04-30 18:28:23

标签: nginx caching reverse-proxy varnish varnish-vcl

我必须支持使用REST API但仅限POST的遗留系统。正文包含需要在服务器上解析以了解资源的XML数据。

由于遗留应用程序无法更改,我们无法向其添加缓存,即Redis。因此,为了加快速度,我正在考虑在负载均衡器和Web服务器之间放置一个反向代理缓存,如Varnish。但这需要解析请求体以查看XML路径。

是否有任何第三方开源模块可以执行此操作,并且不需要太多重写。

清漆模块
Nginx + Lua + XML解析

最后一个选项是编写一个充当缓存的应用程序(使用Redis的自定义代码),如果遗漏,查询将被传递到Web服务器。

1 个答案:

答案 0 :(得分:0)

我找到了一种使用Nginx proxy_cache进行缓存的方法,它将密钥保存在磁盘上而不是RAM中。示例nginx.conf

    proxy_cache_key        $http_x_custom_header;
    proxy_cache_revalidate off;
    proxy_cache_methods    POST;
    proxy_cache_valid      200 1m;

整个HTTP POST响应正文缓存在proxy_cache中。