logo

申请Let's Encrypt通配符HTTPS证书:从理论到实践

作者:沙与沫2024.01.08 04:47浏览量:14

简介:本文将介绍如何申请Let's Encrypt的通配符证书,以及它如何为多个子域名提供加密。

一、背景知识
通配符证书,又叫泛域名证书,一张通配符的证书可以保护一个域名下同级子域名,使他们都变成 https 加密链接,不需要配置一个子域名再申请一个新证书了,而且不限制子域名数量,这也使得随时增加子域名的同时并不需要额外的付费,对于有多个子域名尤其是子域名数量很多的用户,性价比很高,大大的节约了大量的时间和金钱成本。
Let’s Encrypt 是一个免费的 CA 机构,这意味着签发证书不需要任何费用。该机构之所以免费,是因为它是一个非盈利性的组织,通过控制开支来实现这一目标。为了实现自动化证书管理,Let’s Encrypt 设计了一个名为 ACME 的协议,目前该协议的版本是 v1。
传统的 CA 机构是人工受理证书申请、证书更新、证书撤销,而 ACME 协议通过自动化手段解决了这些问题,提高了效率。
二、工具安装
首先需要给系统添加 epel 源。以下是在 CentOS 上的安装命令:

  1. epel -v repo --enablerepo=epel

三、证书申请

  1. 安装 certbot
    使用以下命令安装 certbot:
    1. sudo yum install certbot
  2. 获取证书
    使用以下命令获取证书:
    1. sudo certbot certonly --webroot -w /var/www/html --agree-tos --email your-email@example.com --domain yourdomain.com --dns-provider xxxx
    其中,—webroot 参数指定了网站根目录,—agree-tos 参数表示同意 Let’s Encrypt 的服务条款,—email 参数指定了邮箱地址,—domain 参数指定了要保护的域名,—dns-provider 参数指定了 DNS 服务提供商。
  3. 验证域名所有权
    Certbot 将自动验证您是否拥有域名的所有权。通常,这包括在域名的根目录下创建一个名为 “.well-known/acme-challenge” 的文件夹,并在其中放置一个随机生成的 token。然后,Certbot 将通过电子邮件中提供的地址发送一个确认链接。点击确认链接后,Certbot 将完成证书的申请过程。
  4. 安装证书
    一旦证书申请成功,Certbot 将自动安装证书。您可以在 /etc/letsencrypt/live/yourdomain.com/ 目录下找到证书和私钥文件。
  5. 配置服务器使用 HTTPS
    在服务器上配置 HTTPS 需要编辑 web 服务器的配置文件。下面以 Apache 和 Nginx 为例进行说明。
    Apache:
    打开 Apache 的主配置文件(通常位于 /etc/httpd/conf/httpd.conf),找到包含 VirtualHost 的部分,然后编辑或添加以下内容:
    apache SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem将以上两行代码添加到 VirtualHost 中。然后保存并关闭文件。最后重启 Apache 服务以使更改生效。
    Nginx:
    打开 Nginx 的配置文件(通常位于 /etc/nginx/nginx.conf),找到 server 块,然后编辑或添加以下内容:
    nginx ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;将以上两行代码添加到 server 块中。然后保存并关闭文件。最后重启 Nginx 服务以使更改生效。
    四、注意事项
  6. 在申请证书之前,请确保您已经完成了域名的 DNS 记录设置,以便 Let’s Encrypt 可以验证您的所有权。
  7. 在使用 Certbot 之前,请确保您的网站已经正常运行并可访问。Certbot 需要能够通过 HTTP 或 HTTPS 与您的网站进行通信。
  8. 请注意,通配符证书可以保护一个域名下所有同级子域名,但无法保护二级子域名。例如,如果您申请了 example.com 的通配符证书,那么它可以将 sub1.example.com 和 sub2.example.com 都变成 https 链接,但无法将 sub

相关文章推荐

发表评论