1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > 域名 > 正文

域名

一招教你在Linux上安装SSL证书,并且自动续订

1987web2023-09-26域名70

转载请复制本声明!

公众号:运维漫谈

编辑:漫谈君

在 Linux 上安装 SSL 证书

本文将带大家学习如何在运行 Nginx 的 Linux 服务器上安装有效的 SSL 证书,我们将选择 Lets Encrypt 为域获取证书,Lets Encrypt 是一个非盈利的证书颁发机构 (CA),免费颁发 SSL 证书。

前置知识

  • A 记录只是将域名映射到托管该域的设备的 IP 地址。

  • CNAME 代表规范名称,是另一个域的别名。

为了安装 SSL 证书,必须先在系统上安装 Web 服务器。

注意:本教程演示如何为 demo.linuxtrainingacademy.com 域安装 SSL 证书,您在使用的时候按照情况修改即可。

以根用户身份连接到服务器

使用su命令切换到 root 帐户:

su -

安装和配置 Nginx Web 服务器

安装 Nginx Web 服务器:

dnf install -y nginx

接下来,需要替换 /etc/nginx/nginx.conf 文件中的一行,用你最喜欢的编辑器打开它。

nano /etc/nginx/nginx.conf

注意:可以使用dnf install -y nano命令安装nano

找到这样一行:

server_name _;

将_更改为您的域名,确保在行尾的域之后包含分号 (;):

server_name demo.linuxtrainingacademy.com;

使用此命令检查任何语法错误或输入错误:

nginx -t

如果您收到诸如测试失败之类的消息,请在 /etc/nginx/nginx.conf 文件中修复您的编辑,然后重试。

确保 Web 服务器在启动时启动,然后执行启动命令,因此您可以使用以下命令来完成这两个步骤。

systemctlenable--now nginx

可以通过检查其状态来验证已启动的 Web 服务器。

systemctl status nginx

如果 Nginx 正常运行,会看到类似这样的东西:

您还可以使用systemctl的is-active选项来查看它是否正在运行。

systemctl is-active nginx

允许入站 HTTP 和 HTTPS 流量

如果使用的是本地 Linux 防火墙,请运行以下命令以允许 HTTP 和 HTTPS 流量:

firewall-cmd --permanent --zone=public --add-service=httpfirewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reload

测试网络服务器

打开网络浏览器并连接到您的域名,在此示例中,我使用的是 http://demo.linuxtrainingacademy.com,但使用您的域。

此时,您应该会看到一个测试页面。

安装 snapd

Snapd 在默认仓库中不可用,因此我们需要使用以下命令添加 EPEL 仓库:

dnf install -y epel-release

现在您可以安装snapd包:

dnf install -y snapd

接下来,启用管理主 snap 通信套接字的systemd单元:

systemctlenable--now snapd.socket

现在,启用经典快照支持:

ln -s /var/lib/snapd/snap /snap

安装 Certbot 应用程序

使用 snap 安装 certbot:

snap install --classic certbot

当运行 certbot 时,它会为 HTTPS 流量配置 nginx,告诉 nginx 为该流量使用新生成的证书,并设置证书的自动更新。

/snap/bin/certbot --nginx

注意:除非您注销并重新登录,否则 certbot 工具不会出现在您的 $PATH 中,这就是我们使用 /snap/bin/certbot 的绝对路径来运行它的原因。

在安装过程中,出现提示时输入您的电子邮件地址,此外,在出现提示时按y对问题回答是。

自动更新您的 SSL 证书

可以通过运行以下命令来测试 SSL 证书的自动续订功能:

/snap/bin/certbot renew --dry-run

如果自动续订有效,您将收到如下响应:恭喜,所有模拟续订都成功了。

验证 SSL 证书

打开 Web 浏览器并通过 HTTPS 连接到您的域。如果证书安装成功,将不会从 Web 浏览器收到有关 SSL 证书的任何错误或警告。

您还可以使用 curl 实用程序从命令行检查 Web 服务器:

curl https://demo.linuxtrainingacademy.com

如果证书有效,curl 将返回网站内容,没有任何错误或警告。

最后

到这里,您已经安装好一个有效的 SSL 证书了,该证书将自动更新!