Caddy安装模块进行功能拓展

Caddy安装模块进行功能拓展

9月 24, 2025 · 1 分钟阅读时长 · 364 字 · -阅读 -评论

最近有个需求是 Caddy 代理的 WEB 服务能够在返回 HTML 时候追加一个 JS 脚本,研究后发现需要安装一个 Caddy 模块来实现这个功能。之前没有玩过 Caddy 模块,今天就来学习一下 Caddy 模块的安装和使用。

模块

Caddy 默认是有安装模块,毕竟是模块化的,但即使是 Caddy 官方的模块也不是所有都有安装,为了能够单独安装模块的话,Caddy 是需要重新编译打包的。

查询模块安装情况


caddy list-modules

caddy list-modules | grep replace

Docker 方式进行定制

我这里的话是需要安装 replace-response 模块,同时我是走的 Docker 方式来运行 Caddy 的,所以我就需要定制一个 Caddy 的 Docker 镜像,步骤如下:

FROM caddy:2-builder AS builder

RUN xcaddy build \
    --with github.com/caddyserver/replace-response

FROM caddy:2

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

执行 docker build -t my-caddy . 进行打包,打包完成后就可以看到镜像列表中多了一个 my-caddy 的镜像。

写在最后

通过以上步骤,我们成功地为 Caddy 添加了一个自定义模块。使用 Docker 构建自定义 Caddy 镜像的方式,不仅可以方便地管理依赖,还能确保在不同环境中保持一致性。希望这篇文章能对你有所帮助。

相关文档

Alan He
Authors
开发者,数码产品爱好者,喜欢折腾,喜欢分享,喜欢开源