官方发布:https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579

支持ACME的客户端:https://letsencrypt.org/docs/client-options/

acme.sh中文说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

1、安装acme.sh

curl https://get.acme.sh | sh -s email=my@example.com

wget -O -  https://get.acme.sh | sh -s email=my@example.com

普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步:

  • 把 acme.sh 安装到你的 home 目录下:~/.acme.sh/,并创建 一个 nginx 的 alias, 方便你的使用(重启生效)。
  • 自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。
    通过 crontab -l 查看 crontab 任务。

设置临时别名使acme.sh在放前会话中生效

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

其他安装方法:https://github.com/Neilpang/acme.sh/wiki/How-to-install

2、申请namesilo dns api

export Namesilo_Key="申请的key"

3、生成证书

namesilo

acme.sh --issue --dns dns_namesilo --dnssleep 900 -d gmloc.me -d *.gmloc.me

附:Cloudflare

acme.sh --issue --dns dns_cf -d example.com -d www.example.com

namesilo解析太慢,建议900改成1800

其他的DNS请参考:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

4、copy/安装 证书

创建存放证书的文件夹:

mkdir -p /www/ssl/gmloc.me/

安装证书:具体参考acme.sh中文说明第三步。

acme.sh --install-cert -d gmloc.me \
--key-file       /www/ssl/gmloc.me/gmloc.me.key  \
--fullchain-file /www/ssl/gmloc.me/fullchain.cer \
--reloadcmd     "/etc/init.d/nginx reload"

中文说明里重载nginx的命令不适用于宝塔,修改成/etc/init.d/nginx reload 即可;

5、自动续签

安装了ACME后,它会添加一个自动任务到你服务器的Cron里,每天都会检查你的证书是否快要过期,ACME会自动帮你续签。

强制续签证书:

acme.sh --renew -d example.com --force

6、更新 acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步。

  • 升级 acme.sh 到最新版:
acme.sh --upgrade
  • 开启自动升级:
acme.sh  --upgrade  --auto-upgrade
  • 关闭自动更新:
acme.sh --upgrade  --auto-upgrade  0
  • 停止证书续订
acme.sh --remove -d example.com [--ecc]

证书/密钥文件未从磁盘中删除。

您可以自己删除相应的目录(例如~/.acme.sh/example.com)。

  • 查看证书列表:
acme.sh --list 
  • 删除证书:
acme.sh remove <SAN_Domains>
  • 卸载acme.sh
acme.sh --uninstall

7.修改 Nginx 配置文件启用 ssl

server
{
    listen 443 ssl http2;
    server_name gmloc.me;
    ssl_certificate /www/ssl/gmloc.me/fullchain.cer;
    ssl_certificate_key /www/ssl/gmloc.me/gmloc.me.key;
}

相关阅读:

nginx 不带www和http 301重定向到带www的https网址
快速签发 Let's Encrypt 证书指南:https://www.cnblogs.com/esofar/p/9291685.html
申请Let's Encrypt通配符HTTPS证书:https://my.oschina.net/kimver/blog/1634575
Let's Encrypt免费申请泛域名/野卡证书:https://www.234du.com/1159.html

文章目录