使用 Nginx + acme.sh 配置 HTTPS 网站

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

本文介绍了如何使用 Nginx 和 acme.sh 工具自动申请和更新免费的 ACME SSL DV 证书。通过 HTTP-01 验证,用户可以轻松配置 HTTPS 网站。文章详细说明了域名解析、Nginx 配置、acme.sh 安装及证书申请过程,并强调了自动化更新的重要性,建议设置定时任务以确保证书及时更新,避免过期问题。

🎯

关键要点

  • 使用 Nginx 和 acme.sh 工具可以自动申请和更新免费的 ACME SSL DV 证书。
  • 通过 HTTP-01 验证,用户需要将域名解析到服务器并在 80 端口提供 HTTP 服务。
  • acme.sh 工具使用 shell 脚本实现,支持多家 CA 和多种验证方式,适用于各种类 UNIX 平台。
  • 申请证书时需要指定域名和 HTTP 服务的根目录,acme.sh 默认使用 ZeroSSL 签发证书,也可选择 Let’s Encrypt。
  • 配置 Nginx 以支持 HTTPS,并重定向 HTTP 请求到 HTTPS,同时确保不影响 HTTP-01 验证。
  • 建议设置定时任务自动更新 SSL 证书,避免证书过期问题。

延伸问答

如何使用 Nginx 和 acme.sh 配置 HTTPS 网站?

首先,解析域名到服务器并在 80 端口提供 HTTP 服务,然后安装 acme.sh 工具并申请 SSL 证书,最后配置 Nginx 支持 HTTPS。

acme.sh 工具的主要功能是什么?

acme.sh 工具用于自动申请和更新免费的 ACME SSL DV 证书,支持多种验证方式和多家 CA。

为什么建议设置定时任务自动更新 SSL 证书?

设置定时任务可以确保 SSL 证书及时更新,避免证书过期导致网站无法访问的问题。

在申请证书时需要注意哪些事项?

申请证书时需要指定域名和 HTTP 服务的根目录,并确保域名解析正确以便 CA 能访问验证 Token。

如何配置 Nginx 以支持 HTTPS?

在 Nginx 配置文件中,设置监听 443 端口,指定 SSL 证书和私钥,并重定向 HTTP 请求到 HTTPS。

acme.sh 支持哪些证书颁发机构?

acme.sh 默认使用 ZeroSSL 颁发证书,也可以选择 Let’s Encrypt,支持多家 CA。

➡️

继续阅读