ACME Let's Encrypt 申请泛域名SSL证书
1 安装 ACME
curl https://get.acme.sh | sh -s email=example@qq.com
acme.sh --install-cronjob # acme.sh 的定时任务
2 认证方式:
2.1 DnsPod token
密钥获取:API 密钥 - DNSPod
域名管理是在DnsPod上,给/etc/profile添加了DnsPod token
:
# DnsPod Token
export DP_Id=""
export DP_Key=""
2.2 Webroot
Webroot模式申请证书,需要访问到/.well-known
目录
配置Nginx:
# 一键申请SSL证书验证目录相关设置
location ~ \.well-known {
allow all;
}
2.3 手动DNS验证申请
手动在域名上添加一条 txt 解析记录, 验证域名所有权
acme.sh --issue --dns \
--domain example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
# 在域名解析管理中,添加dns记录值
Add the following TXT record:
[2023年 04月 08日 星期六 21:57:13 CST] Domain: '_acme-challenge.example.com'
[2023年 04月 08日 星期六 21:57:13 CST] TXT value: 'o4MgobqPJsadsfghjKSsadsfdgfhjhW6iIXc'
# 添加完txt解析之后,重新生成证书
acme.sh --renew \
--domain example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
注意:使用这种方式 acme.sh 将无法自动更新证书
3 一键申请Let's Encrypt:
申请泛域名
使用DnsPod token(dns_dp)或Webroot认证
安装证书到/www/wwwroot/ssl_cert/
acme.sh --issue \
--domain atray.cn \
--domain *.atray.cn \
--dns dns_dp \
--webroot /www/wwwroot/atray_typecho \
--installcert \
--certpath /www/wwwroot/ssl_cert/atray.cn_bundle.pem \
--keypath /www/wwwroot/ssl_cert/atray.cn.key \
--reloadcmd "service nginx reload" \
--server https://acme-v02.api.letsencrypt.org/directory \
--email example@qq.com
4. 安装/copy证书
acme.sh --install-cert \
--domain example.com \
--key-file /usr/local/nginx/conf/ssl/www.example.com.key \
--fullchain-file /usr/local/nginx/conf/ssl/www.example.com.pem \
--reloadcmd "service nginx force-reload"
5 其他命令
# 查看帮助
acme.sh -h
# 查看证书列表
acme.sh --list
Main_Domain KeyLength SAN_Domains CA Created Renew
example.com "2048" www.example.com ZeroSSL.com 2023-04-05T12:54:46Z 2023-06-04T12:54:46Z
# 查看域名配置
acme.sh --info --domain example.com
# 切换默认证书申请服务器
# 默认使用 ZeroSSL,以下示例切换 Let's Encrypt
acme.sh --set-default-ca --server letsencrypt
版权申明
本文系作者 @ATRAY 原创发布在ATRAY站点。未经许可,禁止转载。
暂无评论数据