Caddy 本地开发指南

使用 Caddy 在 localhost 提供自动 HTTPS 与反向代理,将请求转发到 Vite、Node、PHP 等后端。


Caddy 是现代化的 Web 服务器,以自动 HTTPS(Let’s Encrypt)和简洁的 Caddyfile 配置著称。本地开发常用作反向代理,统一 localhost 入口,转发到 Vite(5173)、Laravel(8000)等后端。

典型 localhost 场景

配置效果
反向代理到 Vite浏览器访问 http://localhost → 内部转发到 localhost:5173
多项目路径/api → 3000,/ → 5173
本地 HTTPShttps://localhost 使用 Caddy 内置本地证书

安装

macOSbrew install caddy
Linux:见 caddyserver.com/docs/install
Windows:下载 exe 或使用 Scoop

Caddyfile 示例

代理 Vite 开发服务器

:80 {
    reverse_proxy localhost:5173
}

启动:caddy runcaddy start --config Caddyfile
访问 http://localhost 即 Vite 应用。

前后端分离

:80 {
    handle /api/* {
        reverse_proxy localhost:3000
    }
    handle {
        reverse_proxy localhost:5173
    }
}

本地 HTTPS

localhost {
    reverse_proxy localhost:4321
}

Caddy 自动生成本地信任证书(需安装 Caddy 的 root CA:caddy trust)。

与 Nginx / Apache 对比

CaddyNginx
配置Caddyfile 极简nginx.conf 较繁琐
HTTPS自动申请与续期需 certbot 等
生态较新,本地/dev 友好生产极广泛

常见问题

80 端口被 Apache/XAMPP 占用
停止其他 Web 服务,或 Caddy 监听 :8080

WebSocket / HMR 失败
Caddy 默认支持 WebSocket 反向代理;确保 reverse_proxy 指向正确的 Vite 端口。

与 Docker
可将 Caddy 作为 Compose 中唯一暴露 80/443 的入口容器。

小结

Caddy 适合在本地用 http://localhost 统一代理多个 dev server,并可选 https://localhost 调试安全上下文;配置比 Nginx 更简单。

访客计数:------ Best viewed in Netscape Navigator · 800×600 © LocalHost Run