namesilo域名通过acme.sh申请Let's Encrypt通配符HTTPS证书
官方发布: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
- 申请:https://www.namesilo.com/account_api.php
- 在ssh里输入
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
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。