如何使用Certbot获得免费的Let’s Encrypt SSL证书
如今,每个网站都必须拥有SSL证书。如果没有它,该服务的可信度将非常低,信息泄露的风险也很高。
SSL证书确保信息通过加密通道从客户端传递到服务器,反之亦然。
不幸的是,大多数SSL证书都需要花钱。但值得庆幸的是,这里有免费的选择。Let’s Encrypt是其中最知名和最广泛使用的。它是开源的,而且是完全免费的。
Let’s Encrypt允许任何人在其网站上获取并安装受信任的SSL证书,并从加密连接增强的安全性中获益。
与自签名SSL证书不同,Let’s Encrypt证书被识别为已完全验证,并在现代web浏览器的地址栏中显示挂锁图标。
Let’s Encrypt的工作原理
在我们进入本文的核心内容,即创建一个免费的SSL证书之前,我们想解释一下Let’s Encrypt是如何工作的。
首先,在颁发证书之前,Let’s Encrypt将验证您的域的所有权。接下来,主机上的Let’s Encrypt客户端将创建一个包含所需信息的临时文件(令牌)。
然后,验证服务器发出HTTP请求以检索文件并验证令牌,从而验证域的DNS记录是否解析为运行Let’s Encrypt客户端的服务器。
因此,以下说明
必须在为域提供服务的服务器上执行
正在为其颁发证书。
如何从Let’s Encrypt获得免费SSL证书
以下步骤将引导您快速轻松地完成为您的网站获取有效免费SSL证书的过程。
步骤1:安装Certbot
Let’s Encrypt有一个名为
certbot
。因此,使用Let’s Encrypt获取SSL证书的第一步是将其安装在服务器上。
Ubuntu:
sudo apt安装certbot python3 certbot nginx
Debian:
sudo apt安装certbot
CentOS:
sudo yum-install-epel发布
sudo yum-install certbot nginx
步骤2:获取Let’s Encrypt SSL证书
重要的
在颁发Let’s Encrypt免费SSL证书之前,您必须停止web服务器服务。否则,您将得到以下错误:
绑定到端口80时出现问题:无法绑定到IPv4或IPv6
如果使用Nginx,请执行:
sudo systemctl停止nginx
现在,我们可以继续生成Let’s Encrypt免费SSL证书:
sudo
certbot
仅限证书
--独立的
--首选挑战
http
d
我的域
.com
代码语言:
CSS
(
css
)
-d选项采用域名。您可以使用多个
d
选项。例如
sudo
certbot
仅限证书
--独立的
--首选挑战
http
d
我的域
.com
d
www
.我的域
.com
代码语言:
CSS
(
css
)
如果这是你第一次跑步
certbot
,系统将提示您输入电子邮件地址并同意服务条款。
在这样做之后
certbot
将与Let’s Encrypt服务器通信,然后运行质询以验证您是否控制了正在请求证书的域。
如果成功的话,
certbot
将以一条消息结束,告诉您成功的过程以及证书的存储位置。
重要注意事项:
祝贺您的证书
和
链已保存在
/etc/letsencrypt/live/my-domain.com/fullchain.pem。你的证书会
于过期
2022
-08
-08.
要获得
新
或
这个的调整版本
证书,只需使用再次运行certbot
“仅限证书”
选项非交互式续订
全部的
的
证书,运行
“certbot续订”
-您的帐户凭据已保存在Certbot中
/etc/letsencrypt上的配置目录。你应该做一个
现在对此文件夹进行安全备份。此配置目录将
还包含证书
和
私有的
Certbot so获得的密钥
定期备份此文件夹是理想的选择。
-
如果
如果您喜欢Certbot,请考虑通过以下方式支持我们的工作:
向ISRG/Let捐款
的加密:https://letsencrypt.org/donate
向EFF捐款:https://eff.org/donate-le
代码语言:
PHP
(
php
)
步骤3:验证证书
列出保存在中的证书
/etc/letsencrypt/live/my-main.com
目录。
ls-l/etc/letsencrypt/live/my-main.com/
总计4
-rw-r--r-1 root 692 3月10日08:24自述
lrwxrwxrwx 1根10年3月37日08:24证书.pem->..//archive/my-domain.com/cert1.pem
lrwxrwxrwx 1根10年3月38日08:24 chain.pem->..//archive/my-domain.com/chain1.pem
lrwxrwxrwx 1根根10年3月42日08:24全链.pem->..//archive/my-domain.com/fullchain.pem
lrwxrwxrwx 1根10年3月40日08:24 privakey.pem->..//archive/my-domain.com/privakey1.pem
修改Web服务器配置
为了让您的web服务器使用Let’s Encrypt免费SSL证书,您需要在其配置中指定它们。例如,如果使用Nginx,则需要将以下块添加到域配置文件中
/etc/nginx/sites-enabled/my-domain.conf
服务器
听443;
server_name my-domain.com;
ssl打开;
ssl_certificate/etc/letsencrypt/live/my-domain.com/fullchain.pem;
ssl_certificate_key/etc/letsencrypt/live/my-domain.com/privakey.pem;
}
就是这样。所有的事情都安排好了。现在您只需要启动Web服务器:
sudo systemctl启动nginx
最后,您可以检查您的网站现在是否受SSL保护。只需打开网站并检查挂锁图标是否可用。
自动续订Let’s Encrypt证书
Let’s Encrypt证书的有效期为90天。它们可以在到期前30天续订。在这里,我们添加了一个cron作业,它将自动续订它们。
因此,首先打开crontab文件:
sudo crontab-e
之后,添加
certbot
要每周运行的命令:
每周的
certbot续订--预挂起
“systemctl停止nginx”
--立柱挂钩
“systemctl启动nginx”
--更换挂钩
“systemctl重载nginx”
轻声的
代码语言:
CSS
(
css
)
删除Certbot证书
偶尔需要删除已生成的证书。当然,您可以通过浏览目录和删除文件来做到这一点。但是,一些元数据信息将保留在certbot索引中。
幸运的是
certbot
命令使删除证书变得非常简单。例如,运行下面的命令将提供一个索引,您可以从中选择要删除的域名。
sudo certbot
删去
代码语言:
JavaScript
(
javascript
)
输入要删除的域名的证书索引号,然后点击“Enter”。Certbot将删除已颁发的证书。
您也可以使用以下命令删除证书,将域部分替换为要删除证书的域。
sudo certbot
删去
--证书名称my-domain.com
代码语言:
JavaScript
(
javascript
)
结论
在本教程中,我们看到了如何安装Let’s Encrypt的免费SSL证书来保护网站的安全。此外,您可以查看官方的Let’s Encrypt网站了解更多信息和详细信息。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...