API缓存-基于内容的反向代理(非TTL)
创始人
2024-09-07 19:31:12
0次

可以使用Nginx作为反向代理服务器,并采用内容缓存模块(ngx_http_proxy_module)和缓存模块(ngx_http_proxy_cache_module)。下面是示例配置文件:

http {
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
  
  server {
    listen 80;
    server_name api.example.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
  
    location /api/ {
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_cache_valid 200 60m;
      proxy_cache_bypass $http_pragma;
      proxy_cache_revalidate on;
      proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
  
      proxy_ssl_server_name on;
      proxy_ssl_protocols TLSv1.2;
      proxy_ssl_verify_depth 2;
      proxy_ssl_verify on;
  
      proxy_pass https://api-backend.example.com;
    }
  }
}

在上面的配置中,proxy_cache_path指定了缓存目录,在此示例中为/var/cache/nginx。keys_zone指定了缓存的名称和可用的内存大小。inactive指定了缓存条目保持活动状态的时间。

在location指令中,proxy_cache_key指定了用于生成缓存键的表达式。在此示例中,它将生成一个字符串,由请求协议、请求方法、主机和请求URI组成。proxy_cache_valid指定了缓存的有效期。proxy_cache_bypass将跳过缓存并直接向后端服务器发送请求。proxy_cache_revalidate将检查后端服务器的响应并在必要时更新缓存。proxy_cache_use_stale指定了允许使用过期缓存的错误代码。

在proxy_pass指令中,https://api-backend.example.com指定了后端API服务器的地址。此配置还包括一个名为ssl-upstream.conf的文件,用于配置用于验证SSL证书的CA证书。

这种方法下,需要定期清除缓存文件。可以使用 proxy_cache_purge或者通过在nginx.conf文件中添加脚本来定期自动清除。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...