三行命令申请Let's encrypt泛域名证书,OpenWRT 24.10安装acme.sh并申请证书

0. 必备条件

1个域名,托管到acme.sh支持的平台,如Cloudflare, 阿里云,腾讯云灯。

Linux/Windows/OpenWRT, 这里以Linux/OpenWRT为例

1. acme.sh安装

进入系统-》软件包下,搜索acme, 参照下图安装

Opewrt_install_acme.sh

2. 命令方式申请证书

2.1 更换证书服务商(可选)

acme被ZeroSSL收购,其默认的证书方式为ZeroSSL,如果想用letsencrypt,可以用以下命令更改:

acme.sh --set-default-ca  --server  letsencrypt

2.2 执行以下命令申请证书

进入以下路径:/usr/lib/acme/client/

acme.sh --register-account -m youname@qq.com  # 设置邮箱
export CF_Token="3BUI1xxxxxxxxxxxxxxxxxxxXTSrFzNmeWW"
export CF_Zone_ID="badxxxxxxxxxxxxxxxxxxxxxxxxxxxc78"
acme.sh --issue --dns dns_cf -d 500599.xyz -d '*.500599.xyz'

这种DNS验证方式申请的证书是泛域名证书,即各个子域名都可以用这个证书。

另外一种http验证方式仅能申请某个子域名的证书,且要配合nginx等web服务,且80端口要能用(一般家庭网络的80,443端口都已被封杀不能使用),这里没有采用。

2.2 证书保存路径

/root/.acme.sh/500599.xyz_ecc

Sun Mar  2 01:21:40 CST 2025] Your cert is in: /root/.acme.sh/500599.xyz_ecc/500599.xyz.cer
[Sun Mar  2 01:21:40 CST 2025] Your cert key is in: /root/.acme.sh/500599.xyz_ecc/500599.xyz.key
[Sun Mar  2 01:21:40 CST 2025] The intermediate CA cert is in: /root/.acme.sh/500599.xyz_ecc/ca.cer
[Sun Mar  2 01:21:40 CST 2025] And the full chain certs is there: /root/.acme.sh/500599.xyz_ecc/fullchain.cer

3. 使用证书

比如caddy, 直接配置只想fuchain证书即可

tls /root/.acme.sh/500599.xyz_ecc/fullchain.cer  /root/.acme.sh/500599.xyz_ecc/500599.xyz.key

配置完成后,用浏览器打开网站,点击网址前的小按钮,打开证书查看证书信息。

原文链接:https://www.bktai.com/Post/55

posted @ 2025-03-18 15:59  jopny  阅读(943)  评论(0)    收藏  举报