将nginx更换为Caddy2,并使用ZeroSSL颁发证书

将nginx更换为Caddy2,并使用ZeroSSL颁发证书

lev1ne 85 2024-05-01

一、安装

话不多说直接干,先来安装

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

然后测试访问ip应该直接显示以下页面⬇️⬇️⬇️

这个页面默认路径为/usr/share/caddy/index.html

二、注册ZeroSSL账号(不注册也没问题,直接跳下一步,看个人喜好)

传送门:https://app.zerossl.com/signup

然后在:Developer 中点Generate生成EAB(只显示一次,注意记录好),当然你也可以使用页面中上方的api

三、修改配置文件CaddyFile

然后修改配置:

nano /etc/caddy/Caddyfile

修改同容为:

{
    acme_ca https://acme.zerossl.com/v2/DV90
    acme_eab {
        key_id <key_id>
        mac_key <mac_key>
    }
}
:80 {
	root * /usr/share/caddy
	encode gzip
	file_server
}

其中:80可以直接改为你的域名,默认的为静态页面,如需反代,可添加:

example.com {
	reverse_proxy localhost:5000
	encode gzip
}

相关文档参考:

  1. Caddyfile — Caddy v2中文文档 (dengxiaolong.com)

  2. Using ZeroSSL's ACME endpoint - Wiki - Caddy Community