Let’s Encrypt免费SSL证书介绍及安装配置

2023-03-0314:07:31服务器及运维Comments2,386 views字数 1502阅读模式

一、简介

Let’s Encrypt 是一个由非营利性组织 互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。
简单的说,借助 Let’s Encrypt 颁发的证书可以为我们的网站免费启用 HTTPS(SSL/TLS) 。
Let’s Encrypt免费证书的签发/续签都是脚本自动化的,官方提供了几种证书的申请方式方法,官方推荐使用 Certbot 客户端来签发证书,这种方式可参考文档自行尝试,不做评价。
我这里直接使用第三方客户端 acme.sh 申请,据了解这种方式可能是目前 Let’s Encrypt 免费证书客户端最简单、最智能的 shell 脚本,可以自动发布和续订 Let’s Encrypt 中的免费证书。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

二、安装

前提:

在生产证书之前,Let’s Encrypt 需要验证域名是否是属于你的,才能生产证书。Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 我使用的方法也是这种,可以手动去配置也可以使用脚本调用dns服务的api进行自动验证(自动验证是实现自动签发的关键),该脚本acme.sh 提供了API快速设置。
还有一种验证方式 使用 HTTP 验证签发证书,原理是通过在网站指定路径下加入验证文件,外部正常访问即认证通过。
具体参考:https://u.sb/acme-sh-ssl/
acme:https://github.com/acmesh-official/acme.sh文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

安装:

curl https://get.acme.sh | sh
YAML

成功安装如下:
Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

DNS 解析验证:

这里使用的是阿里云的dns解析服务,所以需要获取能够调用阿里云dns权限的账号 AccessID 和 AccessKeySecret。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

AccessID、KeySecret获取如下:

Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

账号权限确认:

Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

修改配置

vim ~/.bashrc
Shell

将 dns解析服务的key填入:
Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

source ~/.bashrc
Shell

生产证书

运行如下命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

acme.sh --issue --dns dns_ali -d example.com -d *.example.com
Shell

成功后界面上有文件的存放地址:
Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

cd  /www/server/panel/vhost/cert/guozh.net/

ll
-rw-r--r-- 1 root root 1648 Jul 12 16:27 ca.cer
-rw-r--r-- 1 root root 3563 Jul 12 16:27 fullchain.cer
-rw-r--r-- 1 root root 1915 Jul 12 16:27 xxx.net.cer
-rw-r--r-- 1 root root  558 Jul 12 16:27 xxx.net.conf
-rw-r--r-- 1 root root  980 Jul 12 16:26 xxx.net.csr
-rw-r--r-- 1 root root  220 Jul 12 16:26 xxx.net.csr.conf
-rw-r--r-- 1 root root 1675 Jul 12 16:26 xxx.net.key

其中
证书文件 fullchain.cer 
密钥文件 xxx.net.key 

填写SSL证书内容就是这两个
Shell

完结

前面说了Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 但是我们在整个安装和生成过程并没有看到啥时候添加了TXT记录,其实有的,如果在安装过程中仔细看日志,就能看到先是 Add 然后 Check 最后 Remove 。
Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

证书续期

Let’s Encrypt 证书的有效期是三个月。但我们通过脚本acme.sh启动就不用担心,因为它写入了定时命令。用 crontab -l 列出定时任务。
Let’s Encrypt免费SSL证书介绍及安装配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/31191.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/yunwei/31191.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定