使用let's encrypt申请免费的SSL证书

2023-05-19 08:05:47 证书 申请 免费

正文

想增加网站安全性,购买商业版本的SSL证书又太贵?

本篇文章手把手教你使用let's encrypt申请免费的SSL证书。

本文所依赖的环境为:

前置条件

若你想使用let's encrypt申请免费的SSL证书,必须要满足以下几点:

必须有一个域名。

必须有一台拥有公网IP的服务器

在创建证书的过程中,需要证明你对该域名的所有权,所以需要一个域名,而拥有一台有公网IP的服务器则是需要运行certbot客户端工具来协助生成证书,在此过程中,需要用到外网。

安装客户端工具certbot

let's encrypt无需注册登录,也能生成SSL证书,需要用到客户端工具为certbot,该工具是使用python来写的,在Centos 7系统下,该工具安装如下:

安装Python3和pip3

yum install python3 python3-devel

升级pip3,版本要大于20

pip3 install "pip>=20"

安装必要依赖

pip3 install setuptools-rust

setuptools-rustpythonrust扩展所开发插件,目的为用 rust 编写的 python 扩展就像用 C 编写一样容易。

安装certbot

pip3 install certbot

检验客户端

使用certbot --version 可以校验安装是否正常,例如:

如果正常输出了版本,就证明安装完毕。

若直接安装网络太卡的话,可以考虑加一个源信息,例如: 升级pip使用清华源命令为:

pip3 install "pip>=20" -i https://pypi.tuna.tsinghua.edu.cn/simple

设置域名解析

若想使用let's encrypt签发证书,就必须将涉及的域名,先解析到服务器才行。

例如我们将预申请SSL证书域名 和 服务器IP地址的信息整理如下:

预申请SSL证书域名服务器IP地址
pdudo.***.com1...4

我们在申请证书之前,就必须将该域名pdudo.***.comA记录解析到1.*.*.4才行。

在申请SSL证书的时候,我们需要在1.*.*.4服务器上操作certbot才行。

申请SSL证书

在安装客户端工具和设置域名解析后,我们就可以来申请SSL证书了,但是在申请前,需要先保证我们服务器1.*.*.4的80端口没有被占用,且外网防火墙也是开放的。这样做的目的是let's encrypt来访问我们的服务器进行校验和下发证书。

做完上述操作后,执行下列命令,来申请SSL证书:

certbot certonly --standalone -d pdudo.***.com

上述命令的意思是,启动独立的WEB服务进行身份验证,为pdudo.***.com申请/续订SSL证书,但是不需要安装。

在此过程中,会弹出很多的选项,让我们输入,大概流程为:

  • 会让我们输入邮件地址,将用于续订和安全通知。
  • 会让我们确定是否向ACME server注册。
  • 是否分享你的邮件让EFF共享。

如果申请成功后,会在/etc/letsencrypt/live/下,以域名为目录,里面存储的证书信息,并且会告知过期时间是多久。

运行截图:

总结

本篇文章,我们使用let's encrypt为网站申请免费的证书,无需登录、注册,简单使用命令,几分钟内就可以生成证书了,超级简单吧,快来试试吧。注意,let's encrypt申请的证书,有效期只有3个月,所以,使用该方法生成的证书,每2个月几乎就要停止web后更新一下证书才行。

以上就是使用let's encrypt申请免费的SSL证书的详细内容,更多关于let's encrypt申请免费SSL证书的资料请关注其它相关文章!

相关文章