使用 Caddy 自动配置 Web 服务器的 SSL 证书
· 约 1 分钟阅读
Caddy自称是世界上第一个也是唯一一个自动和默认配置HTTPS的Web服务器(Caddy is the first and only web server to use HTTPS automatically and by default)。使用起来也非常简单。
基本配置
配置几个站点的基本步骤如下:
- 配置站点的域名
- 安装Caddy
- 编写或者修改配置文件Caddyfile
- 启动或者重启Caddy程序
首先,设置将域名指向服务器。比如在域名配置页面添加A记录,将服务器的IP作为A记录的值。
Caddy 的安装说明见其官方文档。可以使用包管理工具直接安装在服务器,也可以通过 Docker 来安装。以下假定在 Ubuntu 服务器上,使用包管理工具安装。安装好之后,Caddy会作为一个 systemd 服务启动和运行。
默认的配置文件Caddyfile位于/etc/caddy/Caddyfile中,修改其内容:把:80换成你的域名,例如app.example.com,核心内容如下:
app.example.com { # Set this path to your site's directory. root * /usr/share/caddy
# Enable the static file server. file_server
# Another common task is to set up a reverse proxy: # reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm: # php_fastcgi localhost:9000}最后是使用service命令重启caddy服务:
service caddy restart可查看其启动状态:
service caddy status稍等片刻,使用域名和HTTPS协议即可访问默认的Caddy站点主页(即/usr/share/caddy/index.html)。
其他配置
除了基本配置,在实际中还会有更多配置。比如缓存、压缩等。
缓存控制
使用 header 指令配置缓存控制。比如:
app.example.com { #... header /assets/* Cache-Control max-age=31536000 #...}压缩
使用 encode 指令配置压缩编码。比如:
app.example.com { #... encode zstd gzip #...}常见配置
官网的 Common Caddyfile Patterns 介绍了一些常见的配置模式。