LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]nginx 正式支持 acme 协议 未来可以自动续签 https SSL证书了

admin
2025年8月19日 12:49 本文热度 92

我们非常高兴地宣布 NGINX 中 ACME 支持的预览版正式发布。这一实现引入了一个全新的模块 ngx_http_acme_module,它提供了内置指令,用于直接从 NGINX 配置中请求、安装和续订证书。ACME 支持利用了我们的 NGINX-Rust SDK,并作为基于 Rust 的动态模块提供给 NGINX 开源用户以及使用 NGINX Plus 的企业 NGINX One 客户。

NGINX 原生支持 ACME 带来了诸多好处,能简化并提升 SSL/TLS 证书管理的整体过程。通过 NGINX 指令直接配置 ACME,能大大减少人为错误,并消除传统证书管理中常见的持续开销。它还降低了对外界工具(如 Certbot)的依赖,从而创建了一个更安全、更简洁的工作流程,漏洞更少,攻击面更小。此外,与现有外部工具不同,这些工具往往受限于特定平台,而原生实现确保了更高的可移植性和平台独立性,使其成为现代不断演变的 Web 基础设施中一个多功能且可靠的解决方案。

 什么是 ACME? 

ACME 协议(Automated Certificate Management Environment,自动化证书管理环境)是一种通信协议,主要用于自动化发行、验证、续订和吊销数字安全证书(如 SSL/TLS 证书)的过程。它允许客户端与证书颁发机构 (CA) 互动,而无需人工干预,从而简化了安全网站和其他依赖 HTTPS 的服务的部署。

ACME 协议最初由互联网安全研究组 (ISRG) 在 2015 年底作为 Let’s Encrypt 计划的一部分开发,提供免费、自动化的 SSL/TLS 证书。在此之前,获取 TLS 证书通常是一个手动、昂贵且容易出错的过程。ACME 通过提供开源的自动化工作流程,彻底改变了这一局面。

ACMEv2 是原始 ACME 协议的更新版本。它增加了对新挑战的支持、扩展了认证方法、支持通配符证书以及其他增强功能,以提高灵活性和安全性。

 NGINX ACME 工作流程 

NGINX 中的 ACME 工作流程可以分为 4 个步骤:

  • • 设置 ACME 服务器
  • • 分配共享内存
  • • 配置挑战
  • • 证书发行和续订

设置 ACME 服务器

要启用 ACME 功能,第一步(也是唯一必填步骤)是指定 ACME 服务器的目录 URL。

还可以提供额外信息,比如证书相关问题时的联系方式,或模块数据的存储位置,如下所示。

acme_issuer letsencrypt { 
    uri         https://acme-v02.api.letsencrypt.org/directory; 
    # contact   admin@example.test; 
    state_path  /var/cache/nginx/acme-letsencrypt; 

    accept_terms_of_service; 
}

分配共享内存

实现还提供了可选指令 acme_shared_zone,用于存储所有配置的证书颁发机构的证书、私钥和挑战数据。该区域默认大小为 256K,可以根据需要增加。

acme_shared_zone zone=acme_shared:1M

配置挑战

当前预览版实现支持 HTTP-01 连接方式来验证客户端的域名所有权。它需要在 nginx 配置中定义一个监听端口 80 的监听器来处理 ACME HTTP-01 连接方式

server { 
    # listener on port 80 is required to process ACME HTTP-01 challenges 
    listen 80

    location / { 
        #Serve a basic 404 response while listening for challenges 
        return 404
    } 
}

未来计划支持其他连接方式(如 TLS-ALPN、DNS-01)。

证书发行和续订

在 NGINX 配置的相应 server 块中使用 acme_certificate 指令来自动化 TLS 证书的发行/续订。该指令需要指定需要动态发行证书的标识符(域名)列表。标识符列表可以使用 server_name 指令定义。

下面的代码片段展示了如何为“.example.domain”域名配置 server 块,使用之前定义的 letsencrypt ACME 证书颁发机构来发行/续订 SSL 证书。

server { 

    listen 443 ssl; 

    server_name  .example.com; 

    acme_certificate letsencrypt; 

    ssl_certificate       $acme_certificate
    ssl_certificate_key   $acme_certificate_key
    ssl_certificate_cache max=2
}

注意,并非所有 server_name 指令接受的值都是有效的标识符。此初始实现不支持通配符。不支持正则表达式。

使用模块中的 acme_certificate_key 变量来传递关联域名的 SSL 证书和密钥信息。

 为什么这一切如此重要? 

全球 HTTPS 采用的快速增长很大程度上得益于 ACME 协议,使安全 Web 连接成为标准预期。ACME 现代化了 TLS/SSL 证书的发行、续订和管理方式,通过自动化整个过程,消除了手动工作并降低了证书生命周期管理的成本。除了 Web 领域,物联网设备和边缘计算的增长让 ACME 在自动化 API、设备和边缘计算基础设施的安全性方面扮演关键角色。

NGINX 原生支持 ACME 突显了该协议对未来 Web 安全、自动化和可扩展性的重要性。ACME 预计将在可预见的未来继续作为互联网及其他领域证书自动化的骨干。随着安全成为 Web 标准的底线,我们将继续看到对演变部署模型和安全需求的改进,推动 ACME 的进一步完善。

展望未来,我们致力于不断演进我们的实现,以满足用户和客户的需求,不仅应对他们当前的状况,还为未来的发展构建能力。

 如何上手 

立即开始使用 NGINX 中的原生 ACME 实现。如果你是开源用户,这里有预构建包可用。如果你 是使用 NGINX Plus 的企业 NGINX One 客户,预构建包作为 F5 支持的动态模块提供。有关模块的更多信息,请参考 NGINX 文档。

 社区反馈 

一如既往,你的反馈对塑造 NGINX 的未来发展至关重要。如果你有建议、遇到问题,或想请求额外功能,请通过 GitHub Issues 分享。我们迫不及待地想让你试用一下。


该文章在 2025/8/19 12:55:06 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved