📝 Let's Encrypt免费的HTTPS证书

📝 Let's Encrypt免费的HTTPS证书

HTTPS证书是需要购买的,Let's Encrypt 可以为我们的网站提供免费的HTTPS证书。
Let's Encrypt 是一个由非营利性组织的互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。
Let's Encrypt 免费证书的签发/续签都是脚本自动化的,官方提供了几种证书的申请方式方法, 点击查看
但官方的方式都比较麻烦,特别对于英文差的童鞋😂, 我直接使用第三方客户端 acme.sh 申请,这种方式可能是目前最简单的方法,使用shell脚本的方式,可以自动发布和续订 Let's Encrypt 中的免费证书。

#安装

1
2
# 使用shell脚本获取安装
curl https://get.acme.sh | sh

#安装过程

  1. 把 acme.sh 安装到当前用户的主目录$HOME下的.acme.sh文件夹中,即~/.acme.sh/,之后所有生成的证书也会放在这个目录下;

  2. 创建了一个指令别名alias acme.sh=~/.acme.sh/acme.sh,这样我们可以通过acme.sh命令方便快速地使用 acme.sh 脚本;

  3. 自动创建cronjob定时任务, 每天 0:00 点自动检测所有的证书,如果快过期了,则会自动更新证书。

证书虽然会自动更新,但需要手动更新证书文件到你的服务器对应证书目录,不是全部都是全自动的。证书每一次更新会延长60-90天(我有时候是60天,有时候是90天,后面希望会延长证书时间吧)

#查看是否安装成功

1
acme.sh --version

#生成证书

1
.acme.sh/acme.sh --issue -d itpika.com -d www.itpika.com -w /home/www/root/itpika.com
  • –issue是 acme.sh 脚本用来颁发证书的指令;
  • -d是–domain的简称,其后面须填写已备案的域名;
  • -w是–webroot的简称,其后面须填写网站的根目录。

截图的最后输出了证书的存放目录

可以通过下面两个常用acme.sh命令查看和删除证书:

1
2
3
4
5
# 查看证书列表
acme.sh --list

# 删除证书
acme.sh remove <SAN_Domains>

#安装证书

安装证书只是将证书文件拷贝到对应的目录而已,完全可以自己拷贝,这里还是给出来
1
2
3
4
5
# 最后一行命令还帮我重启了nginx
acme.sh --installcert -d itpia.com \
--key-file /etc/nginx/ssl/itpia.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"

#手动更新证书

1
acme.sh --renew -d itpika.com --force

#更新acme.sh

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

#手动更新

1
acme.sh --upgrade

#自动更新

1
acme.sh --upgrade --auto-upgrade

#关闭自动更新

1
acme.sh --upgrade  --auto-upgrade  0
最后检测一下SSL是否没问题
SSL完整性检测 -> myssl.com
免费的HTTPS证书目前有很多地方也都可以搞到,比如各种云厂商(阿里,腾讯)。最终使用哪里的就看自己的爱好了

📝 Let's Encrypt免费的HTTPS证书

http://itpika.com/2021/03/11/other/encrypt-https/

作者

itpika

发布于

2021-03-11 15:09:12

更新于

2021-04-01 14:06:52

许可协议

评论