acme.sh安装ssl 以阿里域名为例

今天换了服务器需要重新生成ssl。尝试了下acme.sh。

1安装acme.sh

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

运行以上命令就能自动完成安装acme.sh。并生成~/.acme.sh文件夹。如需将acme.sh修改为全部命令。只需要创建一个alias即可alias acme.sh=~/.acme.sh/acme.sh

域名解析

在这里我是通过dns的方式生成证书,域名服务商为阿里云

# 替换成从阿里云获取的 API 参数
export Ali_Key="666"
export Ali_Secret="666"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d blestgirl.top -d *.blestgirl.top
acme.sh安装ssl 以阿里域名为例_第1张图片
image

生成证书

acme.sh  --installcert  -d  blestgirl.top   \
        --key-file /var/lib/docker/volumes/nginx/_data/ssl/blestgirl.top.key \
        --fullchain-file /var/lib/docker/volumes/nginx/_data/ssl/blestgirl.top.cer \
        --reloadcmd  "docker restart nginx"

--reloadcmd是更新完证书后需要重启nginx

acme.sh安装ssl 以阿里域名为例_第2张图片
image

nginx配置

server {
    listen       443 ssl http2;
    server_name  www.blestgirl.top;

     ssl_certificate /etc/nginx/ssl/blestgirl.top.cer;
     ssl_certificate_key /etc/nginx/ssl/blestgirl.top.key;
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        include        fastcgi_params;
    }
}
acme.sh安装ssl 以阿里域名为例_第3张图片
image

部署成功。acme.sh会创建定时任务,所以不用每次快到期了去手动更新。

你可能感兴趣的:(acme.sh安装ssl 以阿里域名为例)