Caddy 2中配置缓存 2024-05-28 作者 C3P00 在Caddy 2中配置缓存可以使用cache-handler插件。以下是配置Caddy 2缓存的步骤: 安装cache-handler插件:首先,确保已安装Caddy 2,并且可以使用插件。然后,下载并安装cache-handler插件。可以从GitHub的caddyserver/cache-handler仓库中获取插件的最新版本。 配置全局缓存选项:在Caddyfile中配置全局缓存选项。这些选项将适用于所有站点。以下是一些常用的全局选项: order cache before rewrite:确保缓存处理在重写之前执行。 cache:启用缓存处理。 cache.allowed_http_verbs:允许被缓存的HTTP方法,默认为GET和HEAD。 cache.api.basepath:缓存管理API的基本路径。 cache.badger.path:配置Badger缓存存储的路径。 cache.cache_name:覆盖在Cache-Status响应头中使用的缓存名称。 cache.default_cache_control:如果上游未设置Cache-Control响应头,则设置默认值。 你可以根据需要配置其他选项。完整的全局选项列表可以在cache-handler插件的文档中找到[1]。 配置站点缓存选项:在Caddyfile中为每个站点配置缓存选项。以下是一个示例配置: example.com { cache reverse_proxy your-app:8080 } 在这个示例中,cache指令启用了缓存处理,并将请求代理到your-app:8080。 配置缓存键:你可以使用cache_keys指令为特定的URI配置缓存键生成规则。例如: cache_keys { .+\.css { disable_body disable_host disable_method disable_query headers X-Token Authorization } } 在这个示例中,所有以.css结尾的URI将使用指定的规则生成缓存键。 配置CDN管理(可选):如果你使用CDN代理请求,可以配置CDN管理选项。这些选项将与缓存处理一起使用。例如: cdn { provider fastly api_key XXXX dynamic email darkweak@protonmail.com hostname domain.com network your_network strategy soft service_id 123456_id zone_id anywhere_zone } 在这个示例中,使用Fastly作为CDN提供商,并配置了相关的API密钥、邮箱、主机名等信息。 保存并重新加载Caddy配置:完成配置后,保存Caddyfile并重新加载Caddy配置,以使更改生效。 这些是配置Caddy 2缓存的基本步骤。你可以根据需要调整和扩展这些配置选项。请参考cache-handler插件的文档以获取更多详细信息和选项[1]。 Learn more: GitHub – caddyserver/cache-handler: Distributed HTTP caching module for Caddy State of HTTP Caching in Caddy 2 – Help – Caddy Community 【Caddy2】最新Caddy2配置文件解析 – 詩 – 博客园 darkweak/souin 是一个HTTP缓存系统,符合RFC标准,并与@tyktechnologies、@traefik、@caddyserver、@go-chi、@bnkamalesh、@beego、@devfeel、@labstack、@gofiber、@go-goyave、@go-kratos、@gin-gonic、@roadrunner-server、@zalando、@zeromicro、@nginx和@apache兼容[1]。它可以作为反向代理缓存系统,可以放置在当前反向代理(如Apache、Nginx)的顶部,也可以作为Træfik、Caddy或Tyk等喜爱的反向代理的插件使用。由于它是用Go语言编写的,可以部署在任何服务器上,并且由于具有Docker集成,可以轻松安装在Swarm或Kubernetes实例上。它支持Vary、请求合并、陈旧的Cache-Control和其他与RFC-7234相关的规范,还支持新编写的RFC(目前处于草案阶段)http-cache-groups和http-invalidation。它还支持ESI标签,感谢go-esi包的支持[1]。 Souin的配置文件存储在/anywhere/configuration.yml中,可以根据需要提供自己的配置文件。配置文件中包含了各种配置选项,如缓存时间、反向代理URL、API配置、缓存键配置等[1]。 Souin还提供了各种插件,如Beego过滤器、Caddy模块、Chi中间件、Dotweb中间件、Echo中间件、Fiber中间件、Gin中间件、Goa中间件、Go-zero中间件、Goyave中间件、Hertz中间件、Kratos过滤器、Roadrunner中间件、Skipper过滤器、Træfik插件、Tyk插件、Webgo中间件、Prestashop插件和Wordpress插件等[1]。 Souin还支持Prometheus API、Souin API和Security API,可以用于监控和管理缓存系统[1]。 总结:darkweak/souin是一个符合RFC标准的HTTP缓存系统,可以作为反向代理缓存系统使用,也可以作为插件嵌入到其他反向代理中。它支持各种配置选项和插件,并提供了API用于监控和管理缓存系统。 Learn more: GitHub – darkweak/souin: An HTTP cache system, RFC compliant, compatible with @tyktechnologies, @traefik, @caddyserver, @go-chi, @bnkamalesh, @beego, @devfeel, @labstack, @gofiber, @go-goyave, @go-kratos, @gin-gonic, @roadrunner-server, @zalando, @zeromicro, @nginx and @apache darkweak · GitHub Releases · darkweak/souin · GitHub
在Caddy 2中配置缓存可以使用cache-handler插件。以下是配置Caddy 2缓存的步骤:
order cache before rewrite
:确保缓存处理在重写之前执行。cache
:启用缓存处理。cache.allowed_http_verbs
:允许被缓存的HTTP方法,默认为GET和HEAD。cache.api.basepath
:缓存管理API的基本路径。cache.badger.path
:配置Badger缓存存储的路径。cache.cache_name
:覆盖在Cache-Status响应头中使用的缓存名称。cache.default_cache_control
:如果上游未设置Cache-Control响应头,则设置默认值。 你可以根据需要配置其他选项。完整的全局选项列表可以在cache-handler插件的文档中找到[1]。在这个示例中,
cache
指令启用了缓存处理,并将请求代理到your-app:8080
。cache_keys
指令为特定的URI配置缓存键生成规则。例如:在这个示例中,所有以
.css
结尾的URI将使用指定的规则生成缓存键。在这个示例中,使用Fastly作为CDN提供商,并配置了相关的API密钥、邮箱、主机名等信息。
这些是配置Caddy 2缓存的基本步骤。你可以根据需要调整和扩展这些配置选项。请参考cache-handler插件的文档以获取更多详细信息和选项[1]。
Learn more:
darkweak/souin 是一个HTTP缓存系统,符合RFC标准,并与@tyktechnologies、@traefik、@caddyserver、@go-chi、@bnkamalesh、@beego、@devfeel、@labstack、@gofiber、@go-goyave、@go-kratos、@gin-gonic、@roadrunner-server、@zalando、@zeromicro、@nginx和@apache兼容[1]。它可以作为反向代理缓存系统,可以放置在当前反向代理(如Apache、Nginx)的顶部,也可以作为Træfik、Caddy或Tyk等喜爱的反向代理的插件使用。由于它是用Go语言编写的,可以部署在任何服务器上,并且由于具有Docker集成,可以轻松安装在Swarm或Kubernetes实例上。它支持Vary、请求合并、陈旧的Cache-Control和其他与RFC-7234相关的规范,还支持新编写的RFC(目前处于草案阶段)http-cache-groups和http-invalidation。它还支持ESI标签,感谢go-esi包的支持[1]。
Souin的配置文件存储在/anywhere/configuration.yml中,可以根据需要提供自己的配置文件。配置文件中包含了各种配置选项,如缓存时间、反向代理URL、API配置、缓存键配置等[1]。
Souin还提供了各种插件,如Beego过滤器、Caddy模块、Chi中间件、Dotweb中间件、Echo中间件、Fiber中间件、Gin中间件、Goa中间件、Go-zero中间件、Goyave中间件、Hertz中间件、Kratos过滤器、Roadrunner中间件、Skipper过滤器、Træfik插件、Tyk插件、Webgo中间件、Prestashop插件和Wordpress插件等[1]。
Souin还支持Prometheus API、Souin API和Security API,可以用于监控和管理缓存系统[1]。
总结:darkweak/souin是一个符合RFC标准的HTTP缓存系统,可以作为反向代理缓存系统使用,也可以作为插件嵌入到其他反向代理中。它支持各种配置选项和插件,并提供了API用于监控和管理缓存系统。
Learn more: