如何使用 Let’s Encrypt 配置 HTTPS

使用 Certbot 配置 Let's Encrypt 免费 SSL/TLS 证书的指南 │ 为您的网站启用 HTTPS,内容涵盖安装、配置及 │ 自动续期。

Beginner

使用 Let's Encrypt 和 Certbot 为您的网站配置 HTTPS 是一个简单的过程,可以增强网站的安全性和可信度。Let's Encrypt 提供免费的 SSL/TLS 证书,而 Certbot 则能自动完成其中大部分步骤。

先决条件:

  1. 域名:您必须拥有或控制您想要为其获取证书的已注册域名。
  2. DNS 配置:您的域名 DNS 记录必须指向服务器的公共 IP 地址。
  3. Web 服务器:您需要安装并配置好 Web 服务器(Apache 或 Nginx)以托管您的网站。
  4. SSH 访问:您需要具备 SSH 访问权限,并拥有 sudo 具有管理权限。
  5. 防火墙(如适用):确保防火墙中已开放 80 端口(用于 HTTP)和 443 端口(用于 HTTPS)。

设置 HTTPS 的步骤:

1. 安装 Certbot

Certbot 是 Let's Encrypt 的官方客户端,可自动完成 SSL 证书的获取和续期流程。安装 Certbot 的推荐方法是使用 snapd.

  • 安装 snapd若您尚未 snapd ,请按照 Snapcraft 网站上的说明,根据您的操作系统进行安装。
  • 移除旧版 Certbot 软件包(如有):如果您之前曾通过包管理器(如 apt, dnfyum,请移除这些包以避免冲突。例如,在 Ubuntu 上,您可以运行 sudo apt-get remove certbot.
  • 通过 Snap 安装 Certbot: bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbotsnap 包可确保您获得最快的更新,并包含必要的插件。

2. 获取并安装 SSL 证书

具体命令会因您的 Web 服务器(Apache 或 Nginx)而略有不同。

  • 对于 Apache: bash sudo certbot --apache -d yourdomain.com -d www.yourdomain.com 请将 yourdomain.com 替换为您实际的域名。Certbot 将引导您完成设置,询问您的电子邮件地址、服务条款的同意情况,以及是否将 HTTP 流量重定向到 HTTPS。

  • 对于 Nginx: bash sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com 同样,请将 yourdomain.com 替换为您实际的域名。Certbot 将自动配置 Nginx 以提供证书并启用 HTTPS。

    在此过程中,Certbot 会要求您: * 输入用于接收紧急续期和安全通知的电子邮件地址。 * 同意 Let's Encrypt 服务条款。 * 决定是否将您的电子邮件地址分享给电子前沿基金会 (EFF)。 * 选择是否将 HTTP 流量重定向到 HTTPS。通常建议启用此功能。

3. 验证自动续期

Let's Encrypt 证书有效期为 90 天。Certbot 会自动设置 cron 任务或 systemd 定时器,在证书过期前进行续期。

您可以通过模拟运行测试自动续期流程:

sudo certbot renew --dry-run

此命令仅检查续期是否能成功,而不会实际续期证书。

4. 检查您的网站

安装成功后,请通过浏览器访问您的网站: https://yourdomain.com访问您的网站。您应在地址栏中看到一个挂锁图标,这表示连接是安全的。您还可以使用 SSL Shopper 等在线 SSL 检测工具来验证证书的详细信息。