【问题标题】:Why doesn't my Nginx configuration cache the response?为什么我的 Nginx 配置没有缓存响应?
【发布时间】:2021-12-17 06:51:50
【问题描述】:

我有以下 Nginx 配置,我们可以从nginx -T 的输出中看出,它在语法上是正确的。我加粗以下输出的一些相关部分:

$ sudo nginx -T nginx:配置文件/etc/nginx/nginx.conf 语法没问题 nginx:配置文件/etc/nginx/nginx.conf 测试成功 # 配置文件 /etc/nginx/nginx.conf: 事件{} http { proxy_cache_path /tmp/cache keys_zone=one:10m levels=1:2 inactive=2M max_size=100g; access_log /var/log/nginx/access.log; 错误日志/var/log/nginx/error.log; # 静态文件服务器 服务器 { 听 127.0.0.1:8080; 根 /opt/nginx-test-data; 地点 / { } } # 与上面定义的服务器对话的反向代理 服务器 { 听 127.0.0.1:8081; proxy_cache_min_uses 1; 地点 / { proxy_pass http://127.0.0.1:8080; proxy_cache 一个; } } }

我知道在正常实践中服务器和代理服务器位于不同的主机上。目前我只是想学习如何使用内容缓存配置 Nginx 代理服务器,因为 Nginx 对我来说是新手。

我有以下 2MB 的随机字节文件:

$ ls -lh /opt/nginx-test-data/random.bin 
-rw-rw-r-- 1 shane shane 2.0M Jun 21 11:39 /opt/nginx-test-data/random.bin

当我 curl 反向代理服务器时,我得到 200 响应:

$ curl --no-progress-meter -D - http://localhost:8081/random.bin --output local-random.bin HTTP/1.1 200 正常 服务器:nginx/1.18.0 (Ubuntu) 日期:格林威治标准时间 2021 年 6 月 21 日星期一 15:50:07 内容类型:文本/纯文本 内容长度:2000000 连接:保持活动 最后修改时间:格林威治标准时间 2021 年 6 月 21 日星期一 15:39:54 ETag:“60d0b2ca-1e8480” 接受范围:字节

但是,我的缓存目录是空的:

$ sudo ls -a /tmp/cache/
.  ..

我检查了/var/log/nginx/access.log 和/var/log/nginx/error.log,没有记录任何错误。

在向反向代理服务器发出请求后,我的缓存目录中没有条目,我做错了什么?

【问题讨论】:

    标签: nginx reverse-proxy nginx-reverse-proxy


    【解决方案1】:

    事实证明,我需要添加一个proxy_cache_valid directive(虽然我不清楚为什么这是必要的——我假设在location 中简单地使用proxy_cache 会自行打开缓存)。

    我的nginx.conf 有效(注意粗体中的新行):

    事件{} http { proxy_cache_path /tmp/cache keys_zone=one:10m levels=1:2 inactive=2M max_size=100g; access_log /var/log/nginx/access.log; 错误日志/var/log/nginx/error.log; # 静态文件服务器 服务器 { 听 127.0.0.1:8080; 根 /opt/nginx-test-data; 地点 / { } } # 与上面定义的服务器对话的反向代理 服务器 { 听 127.0.0.1:8081; proxy_cache_min_uses 1; 地点 / { proxy_pass http://127.0.0.1:8080; proxy_cache 一个; proxy_cache_valid 200 10m; } } }

    【讨论】:

      猜你喜欢
      • 2021-05-01
      • 2018-01-29
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多