caching - nginx - 是否可以配置代理缓存,以便在没有 HTTP header 的情况下保存文件或以更 "human friendly"格式保存文件?

标签 caching proxy nginx

我很好奇是否可以配置 nginx,以便以某种方式保存缓存,使数据对用户友好?虽然我所有的选择可能都达不到任何人认为“人性化”的水平,但我总体上对人们如何配置它以满足他们的特定需求感兴趣。文档可能很完整,但我非常通过示例学习类型的人。

我当前的配置来 self 遇到的一个示例,如果要使用它,我只能证明 nginx 正确地代理了缓存/数据

http {    

# unrelated stuff...

proxy_cache_path  /var/www/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;
proxy_temp_path /var/www/cache/tmp; 

server {
    server_name g.sente.cc;
    location /stu/ {
    proxy_pass http://sente.cc;
    proxy_cache my-cache;
    proxy_cache_valid  200 302  60m;
    proxy_cache_valid  404      1m;
    }
}

最佳答案

Nginx 有两种缓存内容的方法:

  • proxy_store 是 Nginx 构建镜像的时候。也就是说,它将存储保留相同路径的文件,同时从上游代理。之后,Nginx 将为所有对同一 URI 的后续请求提供镜像文件。缺点是 Nginx 无法控制过期时间,但是您可以随意删除(和添加)文件。
  • proxy_cache 是 Nginx 管理缓存的时候,检查过期时间,缓存大小等。

关于caching - nginx - 是否可以配置代理缓存,以便在没有 HTTP header 的情况下保存文件或以更 "human friendly"格式保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137755/

相关文章:

ssl - 尝试使用 Apache TelnetClient 通过端口转发代理建立 TLS 远程登录 session

bash 函数对 nginx 文件执行健全性检查

apache - 仅 Nginx 或 Nginx(反向代理)+ Apache

php - 我如何测试缓存和缓存破坏?

javascript - 检索文档列表时的 Web 缓存

java - EhCache Hibernate 二级缓存 maxBytesLocalHeap 慢

php - 在代理服务器后面时从 CakePHP 访问数据库

android - 如何从代理后面的 Android 应用程序通过 HTTPS 访问服务?

nginx - nginx 'invalid number of arguments in “map”指令”

http - 我应该指定 "Vary: If-None-Match, If-Modified-Since"吗?