使用 acme.sh 签发续签 Let‘s Encrypt 证书 泛域名证书

1. 安装 acme.sh

安装很简单, 一个命令:

curl https://get.acme.sh | sh

并创建 一个 bash 的 alias, 方便你的使用

alias acme.sh=~/.acme.sh/acme.sh

2. 生成证书

1. http 方式需要在你的网站根目录下放置一个文件, 来验证你的域名所有权,完成验证. 然后就可以生成证书了.

acme.sh --issue -d www.yuming.com --webroot /data/sites/site/

2. dns 方式, 在域名上添加一条 txt 解析记录, 验证域名所有权.(泛域名需要dns解析)

我的域名是在阿里注册的,下面给出阿里云解析的例子,其他地方注册的请参考这里自行修改:传送门

请先前往阿里云后台获取App_KeyApp_Secret 传送门,然后执行以下脚本

# 替换成从阿里云后台获取的密钥
export Ali_Key="xxxxxxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxxxxxx"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d yuming.com -d *.yuming.com

到这里就应该安装好了

3. copy/安装 证书

acme.sh --installcert -d yuming.com 
--key-file /data/ssl/yuming.com.key 
--fullchain-file /data/ssl/yuming.cer 
--reloadcmd "service nginx restart"

4. 别忘记在你的站点配置文件中添加证书路径

#开启443
listen 443 ssl;
#配置证书
ssl_certificate /data/ssl/yuming.cer; ssl_certificate_key /data/ssl/yuming.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on;

5. FAQ

注:我在centos 7上遇到问题,安装完后执行acme.sh,提示命令没找到,如果遇到跟我一样的问题,请关掉终端然后再登陆,或者执行以下指令:

source ~/.bashrc

参考:
https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

https://my.oschina.net/kimver/blog/1634575#comment-list

原文地址:https://www.cnblogs.com/duandian/p/8883952.html