创建一个bash:
免费申请证书:
https://freessl.cn/acme-deploy
结果如图:
复制acme.sh框内命令到服务器命令行执行,获取到证书在/root/.acme.sh/
Let's Encrypt —— 是一个由非营利性组织 互联网安全研究小组 (ISRG)提供的免费、自动化和开放的证书颁发机构(CA),简单的说,就是为网站提供免费的 SSL/TLS 证书。
Let's Encrypt 生成证书的 工具 很多, certbot 是官方推荐的签发工具,也可以通过在线服务申请,例如:
在线一站式服务管理方便,但可能需要绑定业务,个人用户还是推荐通过工具生成证书。
这里推荐 acme.sh ,它不仅有详细的 中文文档 ,操作更为方便,还支持 Docker 。
以 root 用户为例
安装过程:
自动更新: acme.sh --upgrade --auto-upgrade
手动更新: acme.sh --upgrade
关闭更新: acme.sh --upgrade --auto-upgrade 0
验证域名所有权验证方式:HTTP 和 DNS
acme.sh 会自动生成验证文件,并放到站点的根目录,然后自动完成验证,最后自动删除文件。
Nginx:自动从配置中获取站点的根目录
注:根据中国大陆工信部的规定,所有托管在中国大陆服务器上的网站均需要备案。
—— 站点如未备案,80 端口处于禁用状态,acme.sh 无法使用 HTTP 验证域名所有权。
优势:不需要服务器与公网 ip,只要配置 DNS 解析即可。
不足:必须配置 Automatic DNS API 才可以自动续签。
根据域名服务商,选择对应的 DNS API 。
阿里云: 控制台
创建 Accesskey
DNSPod: 控制台 (注:非腾讯云控制台)
创建 API Token
Wildcard 证书,目前只支持 DNS-01 验证方式。
生成的证书都在 home 目录下: ~/.acme.sh/
使用 --install-cert 命令
重启 Nginx 服务:
https://myssl.com
定时任务会自动更新
强制续签证书: acme.sh --renew -d mydomain.com --force
Let’s Encrypted的证书只有三个月的免费期, 使用acme.sh脚本可实现自动更新https证书。以阿里云为例,申请域名为 me2you.online泛域名
1、安装curl https://get.acme.sh | sh
2、运行命令后在当前用户目录下生成目录.acme.sh,并自动增加crontab内容。
3、acme.sh建议使用DNS验证方式,在阿里云的账户配置ID和Secret。
不同DNS的证书配置方式见 ~/.acme.sh/dnsapi/README.md
以阿里云为例
在登陆界面的命令行输入
[root@demo ~]$ export Ali_Key="xxx"
[root@demo ~]$ export Ali_Secret="xxx"
信息会在~/.acme.sh/account.conf 文件记录, 以备下次使用。
4 生成泛域名证书
acme.sh --issue --dns dns_ali -d me2you.online -d *.me2you.online
5\查看证书
[ngx@demo .acme.sh]$ acme.sh --list
5、安装证书
acme.sh --install-cert -d me2you.online \
--key-file /application/nginx/certs/me2you.online/me2you.online.key \
--fullchain-file /application/nginx/certs/me2you.online/me2you.online.cer \
--reloadcmd "/application/nginx/sbin/nginx -s reload"
命令的参数会被记录下来, 下次证更新的时候会自动运行。
6、 nginx成功测试
其它说明:
7、删除证书
acme.sh --remove -d *domain.com
8、目前由于acme协议和Let’s Encrypt CA都在频繁的更新,因此acme.sh也经常更新以保持同步,如果需要更新acme.sh版本的话,通过以下方式即可更新版本:
1.手动更新: acme.sh --upgrade
2.自动更新: acme.sh --upgrade --auto-upgrade ,之后acme.sh就会自动保持更新。
3. 关闭自动更新: acem.sh --upgrade --auto-upgrade 0
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)