Let‘s Encrypt免费安全证书的步骤及使用-基于centos9, 包括工具certbot安装及使用,获取apache、nginx、iis等服务器安全证书

Let's Encrypt 介绍

Let's Encrypt 是一个免费、自动化的证书颁发机构(CA,Certificate Authority),致力于为网站提供免费的SSL/TLS证书。以下是关于Let's Encrypt安全证书的详细介绍:

特点和背景:

  1. 免费:Let's Encrypt的最大特点是提供免费的SSL/TLS证书,这使得任何网站都可以免费获得HTTPS加密,并增加用户数据的安全性。

  2. 自动化:Let's Encrypt采用了自动化的证书颁发流程,通过简单的命令或API可以轻松获取证书。证书的申请、验证和安装过程大部分都是自动化完成的。

  3. 支持HTTPS推广:Let's Encrypt的目标之一是促进全球范围内的HTTPS推广,以提高网络安全性和用户隐私保护水平。

  4. 短期证书:Let's Encrypt颁发的证书有效期为90天,相较于传统CA颁发的1年或更长期的证书,需要更频繁地更新证书。但自动化续期和更新过程相对简便。

获取和申请证书的流程:

  1. Certbot工具:通常,通过Certbot工具可以快速、简单地申请Let's Encrypt证书。Certbot支持多种服务器类型和操作系统,并提供了简化的命令行工具。

  2. 证书申请:使用Certbot等工具,您可以申请证书并通过DNS或HTTP等方式完成域名所有权的验证。

  3. 证书安装:申请成功后,证书将被下载并存储在服务器上,通常存储在/etc/letsencrypt目录中,并由Certbot或其他工具自动配置服务器以使用新的证书。

优势和适用场景:

  • 成本低廉:作为一个免费的CA机构,Let's Encrypt证书极大地降低了网站开启HTTPS的成本,特别适用于中小型网站和个人网站。

  • 自动化:Let's Encrypt提供的自动化工具使得证书的获取和更新过程变得更加简单和便捷,减少了运维人员的负担。

  • 促进安全:让更多的网站启用HTTPS,提高了整个互联网的安全性和用户隐私保护水平,对于数据安全至关重要。

  • 广泛支持:Let's Encrypt受到了广泛的支持和认可,许多操作系统和Web服务器都集成了Let's Encrypt的支持。

certbot工具介绍

Certbot 是一个由 Electronic Frontier Foundation(EFF)支持的免费、开源的工具,用于自动化获取、部署和更新 HTTPS 证书。它是为了方便使用 Let's Encrypt 服务而开发的,允许用户在 Web 服务器上快速设置 SSL/TLS 加密连接。

Certbot 的主要特点和功能包括:

  1. 自动化证书获取和更新:Certbot 提供了简单的命令行接口,用于自动获取、安装和更新 Let's Encrypt 的 SSL/TLS 证书。它可以在 Linux、Windows、macOS 等操作系统上运行。

  2. 支持多种服务器和操作系统:Certbot 支持多种主流的 Web 服务器,包括 Apache、Nginx、Microsoft IIS 等,并且适用于各种常见的 Linux 发行版。

  3. 自动配置和安装:Certbot 会自动修改服务器配置文件以启用 HTTPS,并下载并安装证书到适当的位置。

  4. 证书管理和续期:Certbot 还提供了自动的证书续期功能,它会在证书接近到期时自动更新证书,确保您的网站持续地使用最新的有效证书。

  5. 支持插件和扩展:Certbot 支持插件系统,使用户可以扩展其功能,包括手动模式、DNS 验证插件等,以应对各种不同的配置需求。

  6. 交互式操作:Certbot 提供了用户友好的交互式界面,使证书的获取和安装过程更加直观和简单。

Certbot 的基本用法:

  1. 安装 Certbot:根据您的操作系统和服务器类型,安装 Certbot 工具。

yum install certbot

查看帮助信息:

certbot -h

默认生成了/etc/letsencrypt/目录,通常不指定位置则下载的证书会存储到该目录下

  1. 获取证书:运行 Certbot 命令并选择合适的插件和验证方式来获取证书,例如:

    • 对于 Apache 服务器:sudo certbot --apache
    • 对于 Nginx 服务器:sudo certbot --nginx

默认情况下未安装apache插件,系统会报错:

certbot --apache
# Saving debug log to /var/log/letsencrypt/letsencrypt.log
# The requested apache plugin does not appear to be installed
yum install python3-certbot-apache

查看还有哪些插件可用:

yum list | grep  python3-certbot

先使用--dry-run模拟获取

sudo certbot certonly --apache --dry-run

--apache 参数告诉 Certbot 模拟 Apache 环境。
--dry-run 参数用于模拟测试,以验证证书是否能够成功获取,但不会实际安装证书。可以在测试成功后,删除 --dry-run 参数以实际获取证书。
  1. 按照提示进行操作:Certbot 将引导您完成证书申请和安装的流程,包括输入域名、选择验证方式等。

  2. 验证并安装证书:Certbot 将自动验证您的域名所有权,并将证书下载并安装到服务器上。

  3. 自动续期:Certbot 会自动设置证书的自动续期任务,并在证书接近到期时自动更新证书。

我这里没有可用的域名,所以先就不演示结果了。

使用certbot获取IIS服务器安全证书

目前的 Certbot 工具并不直接支持 Microsoft IIS(Internet Information Services)服务器。但是,您仍然可以使用 Let's Encrypt 来获取证书,然后手动将证书配置到 IIS 服务器中。

以下是一种常见的方法,您可以按照以下步骤手动配置 Let's Encrypt 证书到 IIS 服务器中:

步骤概述:

  1. 在不同的系统上使用 Certbot 获取证书:使用 Certbot 在支持的系统上获取 Let's Encrypt 证书(例如,使用 Linux 系统和支持的 Web 服务器)。

  2. 将证书导出为 PFX 格式:将获取到的证书导出为 PFX 格式,这是 IIS 服务器所需的证书格式。

  3. 将 PFX 证书导入到 IIS 服务器:手动将 PFX 格式的证书导入到 IIS 服务器中。

具体步骤:

  1. 使用支持 Certbot 的系统获取证书

    • 在支持 Certbot 的系统上,使用 Certbot 获取 Let's Encrypt 证书。这可能涉及安装 Certbot、申请证书、验证域名所有权等步骤。

    • 例如,在 Linux 系统上,您可以使用 Certbot 的 Apache 或 Nginx 插件获取证书,然后将其导出为 PFX 格式。使用以下命令:

      sudo certbot certonly --apache -d example.com
      
  2. 将证书导出为 PFX 格式

    • 一旦您成功获取了 Let's Encrypt 证书,在 Linux 系统中找到证书和私钥文件(通常位于 /etc/letsencrypt/live/your_domain/ 目录下)。

    • 使用 OpenSSL 将证书和私钥导出为 PFX 格式(PKCS#12 格式),此格式在 Windows/IIS 中通常使用:

      openssl pkcs12 -export -out your_domain.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
      
      • privkey.pem 是您的私钥文件
      • cert.pem 是您的证书文件
      • chain.pem 是证书链文件
  3. 将 PFX 证书导入到 IIS 服务器

    • 在 Windows 服务器上,打开 IIS 管理器。

    • 找到您的站点,选择“服务器证书”功能。

    • 导入 PFX 格式的证书并按照向导完成导入步骤。

  4. 配置 IIS 网站使用导入的证书

    • 在 IIS 管理器中选择您的网站。

    • 在“绑定”设置中,选择 HTTPS 协议,并选择您导入的证书。

    • 将网站配置为使用新的证书,然后保存更改。

猜你喜欢

转载自blog.csdn.net/zrc_xiaoguo/article/details/134847692