Ubuntu Caddy 保姆级完整教程

一、安装 Caddy(官方源,Ubuntu20.04‑26.04 通用)

一条一条复制执行:

bash 复制代码
sudo apt update
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

#导入密钥
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

#添加软件源
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy

二、验证安装

复制代码
caddy version

输出版本号即为成功。

安装完成后 systemd 服务自动创建,服务名:caddy

三、修改 Caddyfile 配置(核心!适配 FRP‑TCP 隧道)

配置文件路径:/etc/caddy/Caddyfile

bash 复制代码
sudo nano /etc/caddy/Caddyfile

全部原有内容删掉,粘贴下面配置

ini 复制代码
test.example.com {
        tls {
                protocols tls1.2 tls1.3
        }
        reverse_proxy 127.0.0.1:8080 {
                header_up Host {host}
                header_up X-Real-IP {remote_host}
                header_up X-Forwarded-For {remote_host}
                header_up X-Forwarded-Proto https
        }
        header Strict-Transport-Security "max-age=31536000;"
}

⚠️这里 8080 = frp TCP 隧道 remotePort=8080 frps.toml 里必须注释掉 vhostHTTPPort = 8080,否则端口冲突!

保存退出: Ctrl+O →回车保存 →Ctrl+X退出 nano

四、常用 systemd 命令

bash 复制代码
# 启动
sudo systemctl start caddy

# 完全重启(停止再启动服务,证书申请卡住超时的时候用这个) 
sudo systemctl restart caddy

# 开机自启
sudo systemctl enable caddy

#检查配置有没有语法错误
caddy validate --config /etc/caddy/Caddyfile

# 重载配置(改完Caddyfile必须执行)
sudo systemctl reload caddy

# 停止
sudo systemctl stop caddy

# 查看服务状态
sudo systemctl status caddy

# 查看实时日志
journalctl -u caddy -f

✅Caddy 会自动申请 SSL 证书、自动把 http 跳转到 https、自动 90 天后续期证书,你完全不用管证书文件。

相关推荐
llqbzllll10 小时前
Spring AI 工具调用不是反射一下就结束:用 2.0.1 跑通失败恢复与调用上限
人工智能·后端
狼爷10 小时前
Rust/Go/Java/Python/PHP 大比拼:负载下后端框架到底差多少?
java·后端·编程语言
mantou13211 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
程序员老赵11 小时前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
后端·ai编程·deepseek
YIAN11 小时前
实战|用 DeepSeek + SQLite 从零搭建轻量 Text2SQL 查询助手
后端·sqlite·deepseek
王中阳Go11 小时前
自己摸了 2 个月零 offer,补底子只用了 3 块:Go 后端转 AI 最难的不是技术
后端·agent·ai编程
高频因子挖掘机11 小时前
第一次补历史行情:按股票拆,还是按日期拆请求?
后端·github·api
小园子的小菜11 小时前
Python协程深度解析:从原理演进到实战避坑
后端·python
高频因子挖掘机12 小时前
300 只股票 × 两年日 K:为什么逐只循环会变成维护灾难?
后端·github·api
苏三说技术12 小时前
Spring AI Alibaba已停更了,Java还有希望吗?
后端