[點(diǎn)晴永久免費(fèi)OA]nginx 正式支持 acme 協(xié)議 未來可以自動(dòng)續(xù)簽 https SSL證書了
我們非常高興地宣布 NGINX 中 ACME 支持的預(yù)覽版正式發(fā)布。這一實(shí)現(xiàn)引入了一個(gè)全新的模塊 ngx_http_acme_module,它提供了內(nèi)置指令,用于直接從 NGINX 配置中請(qǐng)求、安裝和續(xù)訂證書。ACME 支持利用了我們的 NGINX-Rust SDK,并作為基于 Rust 的動(dòng)態(tài)模塊提供給 NGINX 開源用戶以及使用 NGINX Plus 的企業(yè) NGINX One 客戶。 NGINX 原生支持 ACME 帶來了諸多好處,能簡(jiǎn)化并提升 SSL/TLS 證書管理的整體過程。通過 NGINX 指令直接配置 ACME,能大大減少人為錯(cuò)誤,并消除傳統(tǒng)證書管理中常見的持續(xù)開銷。它還降低了對(duì)外界工具(如 Certbot)的依賴,從而創(chuàng)建了一個(gè)更安全、更簡(jiǎn)潔的工作流程,漏洞更少,攻擊面更小。此外,與現(xiàn)有外部工具不同,這些工具往往受限于特定平臺(tái),而原生實(shí)現(xiàn)確保了更高的可移植性和平臺(tái)獨(dú)立性,使其成為現(xiàn)代不斷演變的 Web 基礎(chǔ)設(shè)施中一個(gè)多功能且可靠的解決方案。 什么是 ACME?ACME 協(xié)議(Automated Certificate Management Environment,自動(dòng)化證書管理環(huán)境)是一種通信協(xié)議,主要用于自動(dòng)化發(fā)行、驗(yàn)證、續(xù)訂和吊銷數(shù)字安全證書(如 SSL/TLS 證書)的過程。它允許客戶端與證書頒發(fā)機(jī)構(gòu) (CA) 互動(dòng),而無需人工干預(yù),從而簡(jiǎn)化了安全網(wǎng)站和其他依賴 HTTPS 的服務(wù)的部署。 ACME 協(xié)議最初由互聯(lián)網(wǎng)安全研究組 (ISRG) 在 2015 年底作為 Let’s Encrypt 計(jì)劃的一部分開發(fā),提供免費(fèi)、自動(dòng)化的 SSL/TLS 證書。在此之前,獲取 TLS 證書通常是一個(gè)手動(dòng)、昂貴且容易出錯(cuò)的過程。ACME 通過提供開源的自動(dòng)化工作流程,徹底改變了這一局面。 ACMEv2 是原始 ACME 協(xié)議的更新版本。它增加了對(duì)新挑戰(zhàn)的支持、擴(kuò)展了認(rèn)證方法、支持通配符證書以及其他增強(qiáng)功能,以提高靈活性和安全性。 NGINX ACME 工作流程NGINX 中的 ACME 工作流程可以分為 4 個(gè)步驟:
設(shè)置 ACME 服務(wù)器要啟用 ACME 功能,第一步(也是唯一必填步驟)是指定 ACME 服務(wù)器的目錄 URL。 還可以提供額外信息,比如證書相關(guān)問題時(shí)的聯(lián)系方式,或模塊數(shù)據(jù)的存儲(chǔ)位置,如下所示。
分配共享內(nèi)存實(shí)現(xiàn)還提供了可選指令 acme_shared_zone,用于存儲(chǔ)所有配置的證書頒發(fā)機(jī)構(gòu)的證書、私鑰和挑戰(zhàn)數(shù)據(jù)。該區(qū)域默認(rèn)大小為 256K,可以根據(jù)需要增加。
配置挑戰(zhàn)當(dāng)前預(yù)覽版實(shí)現(xiàn)支持 HTTP-01 連接方式來驗(yàn)證客戶端的域名所有權(quán)。它需要在 nginx 配置中定義一個(gè)監(jiān)聽端口 80 的監(jiān)聽器來處理 ACME HTTP-01 連接方式:
未來計(jì)劃支持其他連接方式(如 TLS-ALPN、DNS-01)。 證書發(fā)行和續(xù)訂在 NGINX 配置的相應(yīng) server 塊中使用 acme_certificate 指令來自動(dòng)化 TLS 證書的發(fā)行/續(xù)訂。該指令需要指定需要?jiǎng)討B(tài)發(fā)行證書的標(biāo)識(shí)符(域名)列表。標(biāo)識(shí)符列表可以使用 server_name 指令定義。 下面的代碼片段展示了如何為“.example.domain”域名配置 server 塊,使用之前定義的 letsencrypt ACME 證書頒發(fā)機(jī)構(gòu)來發(fā)行/續(xù)訂 SSL 證書。
注意,并非所有 server_name 指令接受的值都是有效的標(biāo)識(shí)符。此初始實(shí)現(xiàn)不支持通配符。不支持正則表達(dá)式。 使用模塊中的 acme_certificate_key 變量來傳遞關(guān)聯(lián)域名的 SSL 證書和密鑰信息。 為什么這一切如此重要?全球 HTTPS 采用的快速增長(zhǎng)很大程度上得益于 ACME 協(xié)議,使安全 Web 連接成為標(biāo)準(zhǔn)預(yù)期。ACME 現(xiàn)代化了 TLS/SSL 證書的發(fā)行、續(xù)訂和管理方式,通過自動(dòng)化整個(gè)過程,消除了手動(dòng)工作并降低了證書生命周期管理的成本。除了 Web 領(lǐng)域,物聯(lián)網(wǎng)設(shè)備和邊緣計(jì)算的增長(zhǎng)讓 ACME 在自動(dòng)化 API、設(shè)備和邊緣計(jì)算基礎(chǔ)設(shè)施的安全性方面扮演關(guān)鍵角色。 NGINX 原生支持 ACME 突顯了該協(xié)議對(duì)未來 Web 安全、自動(dòng)化和可擴(kuò)展性的重要性。ACME 預(yù)計(jì)將在可預(yù)見的未來繼續(xù)作為互聯(lián)網(wǎng)及其他領(lǐng)域證書自動(dòng)化的骨干。隨著安全成為 Web 標(biāo)準(zhǔn)的底線,我們將繼續(xù)看到對(duì)演變部署模型和安全需求的改進(jìn),推動(dòng) ACME 的進(jìn)一步完善。 展望未來,我們致力于不斷演進(jìn)我們的實(shí)現(xiàn),以滿足用戶和客戶的需求,不僅應(yīng)對(duì)他們當(dāng)前的狀況,還為未來的發(fā)展構(gòu)建能力。 如何上手立即開始使用 NGINX 中的原生 ACME 實(shí)現(xiàn)。如果你是開源用戶,這里有預(yù)構(gòu)建包可用。如果你 是使用 NGINX Plus 的企業(yè) NGINX One 客戶,預(yù)構(gòu)建包作為 F5 支持的動(dòng)態(tài)模塊提供。有關(guān)模塊的更多信息,請(qǐng)參考 NGINX 文檔。 社區(qū)反饋一如既往,你的反饋對(duì)塑造 NGINX 的未來發(fā)展至關(guān)重要。如果你有建議、遇到問題,或想請(qǐng)求額外功能,請(qǐng)通過 GitHub Issues 分享。我們迫不及待地想讓你試用一下。 該文章在 2025/8/19 12:55:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |