Caddy:现代化的 Web 服务器
动化的 HTTPS 配置、易用的配置文件和强大的扩展能力而受到开发者的青睐
高性能、安全、易用的现代化 Web 服务器解决方案
Web 服务器|自动化 HTTPS|反向代理|高性能

Caddy 安装指南

本文将详细介绍如何在不同的操作系统上安装 Caddy。

Linux 安装

Ubuntu/Debian

安装依赖

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

# 添加 Caddy 官方源
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

服务管理

systemd (Linux)

# 启动 Caddy
sudo systemctl start caddy

# 设置开机自启
sudo systemctl enable caddy

# 查看状态
sudo systemctl status caddy

# 重启服务
sudo systemctl restart caddy

Caddy 基础配置

常用配置示例

1. 静态文件服务器

example.com {
    root * /var/www/html
    file_server
    encode gzip
}

2. 反向代理

api.example.com {
    reverse_proxy localhost:8080 {
        header_up Host {upstream_hostport}
        health_check /health
        lb_policy round_robin
    }
}

3. PHP 应用

php.example.com {
    root * /var/www/php
    php_fastcgi localhost:9000
    file_server
}

4. 多站点配置

site1.example.com {
    root * /var/www/site1
    file_server
}

site2.example.com {
    root * /var/www/site2
    file_server
}

常用指令说明

root

设置站点根目录:

root * /path/to/site

file_server

启用静态文件服务:

file_server [browse]  # browse 参数启用目录浏览

log

配置访问日志:

log {
    output file /var/log/caddy/access.log
    format json
}

tls

配置 TLS 选项:

tls {
    protocols tls1.2 tls1.3
    ciphers TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
}

配置验证

在应用配置前,可以使用以下命令验证配置文件的正确性:

caddy validate --config /path/to/Caddyfile

更多教程