使用 acme.sh 申请域名 SSL/TLS 证书完整指南
[*]使用 acme.sh 申请域名 SSL/TLS 证书完整指南
[*]简介
[*]为什么选择 acme.sh 和 ZeroSSL?
[*]前置要求
[*]安装过程
[*]步骤一:安装 acme.sh
[*]步骤二:设置 ZeroSSL
[*]证书申请
[*]方法一:手动 DNS 验证(推荐新手使用)
[*]方法二:主动 DNS API 验证
[*]证书安装和管理
[*]步骤一:创建 SSL 目录
[*]步骤二:安装证书
[*]步骤三:设置 Nginx
[*]步骤四:测试并重启 Nginx
[*]证书文件说明
[*]主动续期
[*]验证过程
[*]故障排除提示
[*]安全最佳实践
[*]总结
使用 acme.sh 申请域名 SSL/TLS 证书完整指南
https://i-blog.csdnimg.cn/direct/6a860f0619f3413ca82e0e6ec45cc883.png
https://i-blog.csdnimg.cn/direct/f2f5f1504d1745288dd3352a8f23d581.png
简介
本指南将具体介绍怎样使用 acme.sh 配合 ZeroSSL 获取和管理 SSL/TLS 证书。我们将以 cheungxiongwei.com 为例,介绍从安装到主动续期的完整过程,包括根域名和泛域名证书的设置。
为什么选择 acme.sh 和 ZeroSSL?
[*]免费无穷证书:可以免费天生无穷数目的90天 SSL 证书
[*]支持泛域名:使用单个证书即可掩护无穷数目的子域名
[*]主动化管理:内置证书续期和部署功能
[*]多域名支持:可同时为多个域名颁发证书
[*]账户集成:所有证书都存储在您的 ZeroSSL 账户中
前置要求
[*]一台具有 root 访问权限的 Linux 服务器
[*]已注册的域名
[*]基本的命令行使用知识
[*]域名 DNS 设置的访问权限
安装过程
步骤一:安装 acme.sh
curl https://get.acme.sh | sh
source ~/.bashrc
acme.sh --version
步骤二:设置 ZeroSSL
[*]设置 ZeroSSL 为默认证书颁发机构:
acme.sh --set-default-ca --server zerossl
[*]设置 ZeroSSL EAB(外部账户绑定)根据:
[*]访问 ZeroSSL 控制面板
[*]天生 EAB 根据
[*]设置根据:
export ZERO_EAB_KEY="你的_eab_key"
export ZERO_EAB_HMAC="你的_eab_hmac"
证书申请
方法一:手动 DNS 验证(推荐新手使用)
[*]启动证书申请:
acme.sh --issue --dns -d cheungxiongwei.com -d "*.cheungxiongwei.com" --yes-I-know-dns-manual-mode-enough-go-ahead-please
[*]添加 DNS TXT 记录:
记录类型主机记录记录值TXT_acme-challenge[提供的值]TXT_acme-challenge.*[提供的值]
[*]验证 DNS 分析:
dig TXT _acme-challenge.cheungxiongwei.com
dig TXT _acme-challenge.*.cheungxiongwei.com
[*]完成证书颁发:
acme.sh --renew -d cheungxiongwei.com -d "*.cheungxiongwei.com" --yes-I-know-dns-manual-mode-enough-go-ahead-please
方法二:主动 DNS API 验证
[*]设置 DNS API 根据(以 DNSPod 为例):
export DP_Id="API_ID"
export DP_Key="API_KEY"
[*]颁发证书:
acme.sh --issue --dns dns_dp -d cheungxiongwei.com -d "*.cheungxiongwei.com"
证书安装和管理
步骤一:创建 SSL 目录
sudo mkdir -p /etc/ssl/cheungxiongwei.com
步骤二:安装证书
acme.sh --install-cert -d cheungxiongwei.com \
--key-file /etc/ssl/cheungxiongwei.com/cheungxiongwei.com.key \
--fullchain-file /etc/ssl/cheungxiongwei.com/fullchain.cer \
--reloadcmd "systemctl reload nginx"
步骤三:设置 Nginx
server {
listen 443 ssl;
server_name cheungxiongwei.com *.cheungxiongwei.com;
ssl_certificate /etc/ssl/cheungxiongwei.com/fullchain.cer; # 使用完整证书链
ssl_certificate_key /etc/ssl/cheungxiongwei.com/cheungxiongwei.com.key; # 使用私钥文件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/cheungxiongwei.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name cheungxiongwei.com *.cheungxiongwei.com;
return 301 https://$host$request_uri;
}
步骤四:测试并重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
证书文件说明
[*]fullchain.cer:完整的证书链,用于服务器设置
[*]cheungxiongwei.com.key:私钥(需要安全保管)
[*]ca.cer:中央证书
[*]cheungxiongwei.com.cer:域名证书
主动续期
acme.sh 包罗内置的 cron 任务,每天查抄证书续期。我们之前使用的 --install-cert 命令已经设置了主动续期并重载 Nginx。
验证过程
[*]查抄 HTTPS 毗连:访问 https://cheungxiongwei.com
[*]验证泛域名证书:测试任意子域名,如 https://www.cheungxiongwei.com
[*]在欣赏器中查抄证书详情
故障排除提示
[*]如果 DNS 验证失败,等待 10-15 分钟让分析生效
[*]查抄 Nginx 错误日志:sudo tail -f /var/log/nginx/error.log
[*]验证 Nginx 设置中的证书路径
[*]确保 SSL 证书文件权限正确
安全最佳实践
[*]确保私钥安全并做好备份
[*]仅使用 TLS 1.2 和 1.3 版本
[*]定期监控证书逾期时间
[*]维护证书文件的安全备份
[*]使用强加密的 SSL 暗码设置
总结
现在您的域名已经设置了完整的根域名和泛域名 SSL 证书掩护。该设置包括主动续期和优化的 Nginx 安全设置。建议定期使用在线 SSL 测试工具查抄 SSL 设置,以确保符合最佳实践和安全更新。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]