Let’s Encrypt 证书申请与多服务器 HTTPS 配置指南

1. 背景说明

在多服务器部署场景下,我们希望为域名申请 HTTPS 证书,并让多台服务器都可以使用。常用的证书来源是 Let's Encrypt,它免费、自动化,并支持多种验证方式。

2. 证书申请原理

Let's Encrypt 证书申请的核心步骤:

  1. 验证域名所有权:必须证明你对域名拥有控制权。
  2. 域名解析到服务器:某些验证方式依赖域名解析到指定服务器。

3. 验证方式

3.1 HTTP-01 验证

  • 原理:在域名对应的服务器上放置特定文件,由 Let's Encrypt 访问验证。
  • 条件
    • 域名必须已解析到申请证书的服务器 IP。
    • 服务器需开放 80/443 端口。
  • 适用场景:单服务器、简单 Web 服务。
  • 注意事项
    • 多服务器部署时,每台服务器都需单独申请证书。
    • 如果 DNS 未解析到该服务器,验证会失败。

3.2 DNS-01 验证

  • 原理:在域名 DNS 上添加指定 TXT 记录,由 Let's Encrypt 验证。
  • 条件
    • 只需能修改域名 DNS 记录即可。
    • 不依赖域名解析到哪台服务器。
  • 适用场景:多服务器、负载均衡、CDN、GTM 等场景。
  • 优势
    • 一次验证成功,可在多台服务器共享同一证书。
    • 不受服务器 IP 或流量调度策略影响。

4. 多服务器 HTTPS 配置建议

4.1 如果使用 HTTP-01

  • 每台服务器独立申请证书,需:
    1. 对应域名解析到该服务器。
    2. 服务器开放 80/443 端口。
  • 不适合多 IP、多节点场景。

4.2 如果使用 DNS-01(推荐)

  • 只需能在 DNS 添加 TXT 记录即可,无需解析到服务器。
  • 可以申请一次证书,然后在多台服务器上共享。
  • 非常适合:
    • 多 IP、多服务器部署
    • 使用 CDN 或全局流量管理(GTM)

5. 注意事项

  1. HTTP-01
    • 必须域名解析到申请服务器;
    • 每台服务器都需要独立证书,管理成本高。
  2. DNS-01
    • 无需解析到服务器,管理更方便;
    • 支持证书在多服务器间共享。
  3. HTTPS 证书部署
    • 每台服务器都要安装证书文件;
    • 若使用负载均衡器,可在前端统一终止 HTTPS,再转发 HTTP 到后端。

6. 总结

验证方式 是否必须先解析 DNS 适用场景 优缺点
HTTP-01 ✅ 是 单服务器、简单 Web 优点:简单,缺点:多服务器管理复杂
DNS-01 ❌ 否 多服务器、CDN、GTM 优点:统一管理、灵活;缺点:需要修改 DNS

💡 推荐 :多服务器、负载均衡或 CDN 场景使用 DNS-01 验证,申请一次证书即可在所有服务器共享,管理成本最低。

相关推荐
lang201509284 小时前
如何在 Linux 中获取更多信息
linux·运维·服务器
DeBuggggggg4 小时前
linux 安装Python3.9 且支持SSL
linux·运维·ssl
我是标同学4 小时前
vmware17安装ubuntu2204版本qemu运行armv8处理器uboot运行调试(包括windows)的一些工作
linux·运维·服务器
杨云龙UP4 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
Wang's Blog4 小时前
Nestjs框架: 微服务断路器实现原理与OPOSSUM库实践
运维·微服务·nestjs
mm-q29152227296 小时前
高并发-负载均衡
运维·负载均衡
就叫飞六吧6 小时前
Nginx 主要的几种负载均衡模式
运维·nginx·负载均衡
峰顶听歌的鲸鱼7 小时前
9.OpenStack管理(三)
运维·笔记·分布式·openstack·学习方法
ZHANG13HAO7 小时前
OK3568 Android11 实现 App 独占隔离 CPU 核心完整指
linux·运维·服务器