全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 795|回复: 1

关于nginx清除反代缓存请教一下大佬

[复制链接]
发表于 2023-5-8 15:15:22 | 显示全部楼层 |阅读模式
恍惚记得以前看过一篇文章,可以指定一个ULR中的某段字符串,包含这个字符串的URL的缓存都可以一起清除掉。
比如可以指定某个目录,这个目录下的缓存就都清理掉。
刚找了下没有找到,难道是我记错了,没有这个玩法?
发表于 2023-5-8 15:17:51 | 显示全部楼层
本帖最后由 xhcj666 于 2023-5-8 15:19 编辑

GPT4:
Nginx 提供了一个名为 proxy_cache_purge 的功能,这个功能允许您根据指定的 URL 或者路径来清除缓存。但是需要注意的是,这个功能需要在安装 Nginx 时启用 ngx_http_proxy_module 模块才可使用。

以下是一个简单的示例配置,说明如何使用 proxy_cache_purge 功能:

http {
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=1g
                     inactive=60m use_temp_path=off;

    server {
        location / {
            proxy_pass http://backend;
            proxy_cache my_cache;
            proxy_cache_revalidate on;
            proxy_cache_min_uses 1;
            proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
            proxy_cache_background_update on;
            proxy_cache_lock on;
        }

        location ~ /purge(/.*) {
            allow 127.0.0.1;
            deny all;
            proxy_cache_purge my_cache $1$is_args$args;
        }
    }
}


在这个示例中,我们配置了一个名为 my_cache 的缓存区域。/purge 路径用于处理缓存清除请求。通过发送请求到 /purge 路径并在后面附加要清除的 URL,您可以清除指定的缓存。请注意,我们在 proxy_cache_purge 配置中使用了 $1$is_args$args 来捕获要清除的 URL。同时,我们限制了只有来自本地(127.0.0.1)的请求才能触发缓存清除操作。

例如,假设您想清除 /example 路径下的所有缓存,您可以发送如下请求:

curl -X PURGE http://localhost/purge/example


请根据您的实际需求调整这个示例配置,并确保正确安装和配置了 Nginx。




您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-13 08:33 , Processed in 0.055586 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表