Caddy 入门指南

什么是 Caddy?

Caddy 是一个用 Go 语言编写的现代化 Web 服务器,最大的特点是自动 HTTPS。只需一行配置,Caddy 就能自动为你的网站获取并管理 SSL 证书。

主要特性

  • 自动 HTTPS - 自动申请和续期 Let’s Encrypt 证书
  • 零配置 HTTPS - 默认启用 HTTPS,无需额外配置
  • HTTP/2、HTTP/3 支持 - 性能优异
  • 简单的配置文件 - 使用易于理解的 Caddyfile
  • 丰富的模块系统 - 按需扩展功能

安装 Caddy

Linux/macOS 安装

使用包管理器安装(推荐)

  • Ubuntu/Debian

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
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 apt update
sudo apt install caddy

sudo systemctl start caddy
sudo systemctl enable caddy

入门

vim /etc/caddy/Caddyfile

粘贴下面内容进去,然后依次点击 ESC, :wq 保存并退出

# 最简单的 Caddy 配置
:8080 {
    respond "🎉 Hello World! Caddy 运行成功!"
}

在浏览器里打开你的服务器http://ip:8080你会看到🎉 Hello World! Caddy 运行成功!

反向代理

假设你在服务器上运行了在端口7788的frp映射过来的网页你想给他加上https,这时候需要怎么办呢,反向代理完美的解决了这个问题

vim /etc/caddy/Caddyfile

粘贴下面内容进去,然后依次点击 ESC, :wq 保存并退出

# 最简单的 Caddy 配置
domain.com {
    reverse_proxy http://localhost:7788
}

你打开浏览器输入你的域名就能发现能正常访问你的网站了

静态服务器

在服务器上想要某个目录直接可以给别人访问,下载文件什么的,又不想编辑复制的配置文件,这个命令或许可以帮助你

启动带文件浏览的静态服务器

caddy file-server --browse --listen :8080