MENU

Caddy 针对静态文件配置缓存时长

November 28, 2024 • Read: 123 • 随心笔记

在使用 Caddy 配置网站反代过程中,像本站这种3Mbps小水管想提高速度,缓存就是逃不过的话题;像 js css 静态文件可以考虑缓存时间最大化,因为基本不会动,尽量首次就把资源缓存到客户端。

下面是一个例子,注意是节选配置:

 "handle": [
                                {
                                    "handler": "headers",
                                    "response": {
                                        "set": {
                                            "cache-control": [
                                                "public, max-age=2592000"
                                            ]
                                        },
                                        "require": {
                                            "status_code": [
                                                200
                                            ],
                                            "headers": {
                                                "content-type": [
                                                    "text/javascript"
                                                ]
                                            }
                                        }
                                    }
                                },
                                {
                                    "handler": "reverse_proxy",
                                    "upstreams": [
                                        {
                                            "dial": "192.168.1.180:8080"
                                        }
                                    ]
                                }
                            ]

解释:在源服务器响应成功200之后,并且协议头内容类型是text/javascript时,设置缓存时长是2592000秒,也就是30天;
其中有些特别注意的地方:

  • handler 之间的顺序不能乱,response 处理顺序是由下而上,先 reverse_proxy 再 headers。
  • content-type 里面的数组是逻辑与(&&)的关系,也就是说 如果你还想再支持 css 文件,必须再单独配置一个headers