文章

acem.sh实现 let's encrypt 的泛域名 ssl 证书颁发

【参考文章】

GitHub - acmesh-official/acme.sh:实现ACME客户端协议的纯Unix shell脚本

ACME.SH 申请SSL证书(免费、自动更新)

获取阿里云域名API KEY

  • AccessKey ID
  • AccessKey Secret

img右上角

img点进去若没有,创建一个即可

安装ACME

1
2
3
4
5
yum install socat -y
curl  https://get.acme.sh | sh
cd ~/.acme.sh/
#如果使用root用户进行安装,会生成文件夹.acme.sh。
#文件夹地址:/root/.acme.sh

设置ACME自动更新

1
acme.sh --upgrade --auto-upgrade

申请证书

  • 设置阿里云AccessKey ID 和阿里云AccessKey Secret
1
2
export Ali_key=""
export Ali_Secret=""
  • 申请证书
1
2
acme.sh --issue --dns dns_ali -d sudash.cn -d *.sudash.cn
#申请成功会在.acme.sh文件夹下面;并生成存放证书的sudash.cn_ecc文件夹

导出证书

1
2
mkdir -p /data/cert/sudash.cn/
acme.sh --install-cert -d sudash.cn --cert-file /data/cert/sudash.cn/sudash.cn.crt --key-file /data/cert/sudash.cn/sudash.cn.key --fullchain-file /data/cert/sudash.cn/fullchain.crt

配置Nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vim /usr/local/nginx/conf/nginx.conf
server
    {
        listen 443 ssl;
        #listen [::]:80 default_server ipv6only=on;
        server_name _;
        index index.html index.htm index.php;
        root  /home/wwwroot/wordpress;
        ssl_certificate /data/cert/sudash.cn/fullchain.crt;
        ssl_certificate_key /data/cert/sudash.cn/sudash.cn.key;
        ssl_trusted_certificate /data/cert/sudash.cn/fullchain.crt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
本文由作者按照 CC BY 4.0 进行授权