gpt4 book ai didi

vcl - 如何告诉 Varnish 缓存特定的文件类型

转载 作者:行者123 更新时间:2023-12-01 12:47:28 25 4
gpt4 key购买 nike

我有一个专用服务器来托管我自己的网站。我已经使用默认的 VCL 文件安装了 varnish。现在我想告诉 Varnish 执行以下操作:

  • 仅缓存以下静态文件类型(.js、.css、.jpg、.png、.gif、.jpg)。这些是提供的服务器文件类型,而不是以这些扩展名结尾的 URL。
  • 不要缓存大于 1M 字节的文件
  • 任何文件的缓存应在 1 天(或任何时间段)后到期。
  • 只有当 Apache 发送 200 HTTP 代码时才会发生缓存。

  • 否则,请保持请求不变,以便 Apache 或任何后端为其提供服务。

    我应该在 VCL 文件中写什么来实现这些要求?或者我该怎么办?

    最佳答案

    您可以在 vcl_fetch 子例程中完成所有这些操作。这应该被认为是伪代码。

    if (beresp.http.content-type ~ "text/javascript|text/css|image/.*") {
    if (std.integer(beresp.http.Content-Length,0) < /* max size in bytes here */ ) {
    if (beresp.status == 200) { /* backend returned 200 */
    set obj.ttl = 86400; /* cache for one day */
    return (deliver);
    }
    }
    }
    set obj.ttl = 120;
    return (hit_for_pass); /* won't be cached */

    关于vcl - 如何告诉 Varnish 缓存特定的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549593/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com