Morse's Site
321 字
2 分钟
申请 Let's Encrypt 泛域名证书及自动更新证书
2024-09-04

如果您使用的是国内 VPS 主机,需要先添加 hosts ,防止域名污染造成证书申请失败

# 修改 hosts
175.45.42.217 ocsp.int-x3.letsencrypt.org
175.45.42.209 ocsp.int-x3.letsencrypt.org

安装 acme.sh#

国内主机安装

这里使用 root 账户安装,为的是方便后面定时 cronjob 运行。

# 使用 root 账户
sudo su -

git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh

# 创建证书保存目录
sudo mkdir -p /etc/ssl/xxx
sudo chown ubuntu: /etc/ssl/xxx

# 将 acme.sh 安装到当前用户命令目录下
# 请将 xxx@xxx.com 替换为您的域名申请邮箱
./acme.sh --install -m xxx@xxx.com

# 这这里使用自动的 DNS 验证,因为我的域名托管在 DNSPod,如果您的域名托管在别的地方,请查阅
# https://github.com/acmesh-official/acme.sh/wiki/dnsapi
# 在上述文档中找您所在托管的服务
# 在 DNSPod 控制台中申请一个API Key,记下备用
export DP_Id="111111"
export DP_Key="xxxxxxxxx"

# 安装
acme.sh --issue --dns dns_dp -d xxx.com -d *.xxx.com \
	--fullchain-file /xxx/fullchain.cer \
	--key-file /xxx/xxx.key \
	--reloadcmd "systemctl restart nginx"

Nginx 证书配置#

ssl_certificate /[用户名]/.acme.sh/xmgspace.me/fullchain.cer; #证书路径
ssl_certificate_key /[用户名]/.acme.sh/xmgspace.me/example.com.key; #私钥路径
ssl_stapling on; #开启OCSP
ssl_stapling_verify on; #开启OCSP验证
ssl_trusted_certificate /[用户名]/.acme.sh/xmgspace.me/fullchain.cer; #验证证书路径

手动更新证书#

sudo su -
acme.sh --issue --dns dns_dp -d ihsiao.com -d *.ihsiao.com --force --ecc \
	--fullchain-file /xxx/fullchain.cer \
	--key-file /xxx/xxx.key \
	--reloadcmd "systemctl restart nginx"

Cronjob Debug#

"/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --debug

引用#

申请 Let's Encrypt 泛域名证书及自动更新证书
https://fuwari.vercel.app/posts/blogs/encryptca/
作者
Morse Hsiao
发布于
2024-09-04
许可协议
CC BY-NC-SA 4.0