nginx针对特定URL进行本地缓存

本文介绍了如何在Nginx中利用内置缓存功能,仅对特定URL进行高效缓存,以减轻后端压力和优化热点内容的处理。通过配置proxy_cache_path和location块,实现外部请求的定向缓存和路径重写。
摘要由CSDN通过智能技术生成

自己踩坑的简单记录,在使用nginx中,有一些场景下,只需要对特定的url而不是某个应用(微服务)的全部内容进行缓存,这个时候可借助nginx自身的缓存功能实现。
(ps:如果为动静分离,不在本次的讨论范围内,实现方式网上的办法很多。)

这种方式也可用于实现热点内容的缓存,减少后端服务的压力。

  1. http节点添加:

proxy_cache_path 缓存目录 levels=1:2 keys_zone=cache_xxxx:1024m inactive=1d max_size=10g;

2. 在server节点添加:

location ~ ^/a/b/c/d/(.*)$ (要缓存的url地址,正则表达式) {

proxy_pass (内容未进行缓存时的请求路径);

proxy_cache cache_xxxx;

proxy_cache_valid 200 1d;

rewrite ^/a/b/c/d/(.*)$ /b/c/d/$1 break;

expires 1d;

}

ps: 如果针对对外的地址与内部转发的地址不一致的情况,可用rewrite指令实现,示例中将对外的/a/b/c/d为开头的请求转发到以/b/c/d为开头的后端服务器上。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值