使用Caddy自动配置Web服务器的SSL证书
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
修改为域名(即替换如下的your_domain_should_be_here
为域名),核心内容如下:
your_domain_should_be_here {
# 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
指令配置缓存控制。比如:
domain_name {
#...
header /assets/* Cache-Control max-age=31536000
#...
}
压缩 🔗
使用 encode
指令配置压缩编码。比如:
domain_name {
#...
encode zstd gzip
#...
}
常见配置 🔗
官网的 Common Caddyfile Patterns 介绍了一些常见的配置模式。
加载中...