一、安装acme.sh
普通用户和 root 用户都可以安装使用。会安装在 ~/.acme.sh/ 目录下,以后生成的证书也会在这里面,按照域名为文件夹安置。
acme.sh的中文说明有详细介绍:
curl https://get.acme.sh | sh
source ~/.bashrc
二、生成证书(这里是nginx为例)
2.1首先在nginx.conf文件配置你的服务,www.abc.com
server {
listen 80;
server_name www.abc.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
2.2生成证书
acme.sh --issue -d www.abc.com --nginx /www/server/nginx/conf/nginx.conf
这一步完成后可以看到密钥等等

2.3复制到自己的目录
acme.sh --installcert -d www.abc.com
--key-file /www/server/nginx/ssl/www.abc.com
--fullchain-file /www/server/nginx/ssl/fullchain.cer
--reloadcmd "service nginx force-reload" ##这个报错没关系,重启,反正我是报错了
2.4配置nginx
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.abc.com;
ssl_certificate /www/server/nginx/ssl/fullchain.cer;
ssl_certificate_key /www/server/nginx/ssl/www.abc.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm index.jsp;
}
}
三、 acme.sh 更新
目前由于 acme 协议和 letsencrypt CA 都在频繁地更新, 因此 acme.sh 也经常更新以保持同步.
升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级功能:
acme.sh --upgrade --auto-upgrade
之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0