重大消息,Nginx支持自动续期Let’s Encrypt证书


Nginx 终于支持自动申请和续期 Let’s Encrypt 免费证书了,确切的说支持了 ACME协议。

因为 Let’s Encrypt 就是通过ACME协议(包括签发、验证、续期、吊销)来管理证书的。

Nginx 为了支持ACME协议,开发了ngx_http_acme_module新模块,基于NGINX-Rust SDK开发。

那具体如何使用呢?保护包含三个步骤。

1:配置ACME服务器和共享内存

acme_issuer letsencrypt { 
    uri         https://acme-v02.api.letsencrypt.org/directory; 
    state_path  /var/cache/nginx/acme-letsencrypt; 

    accept_terms_of_service; 
}

acme_shared_zone zone=acme_shared:1M; 

可以看到 Let’s Encrypt ACME协议接口的地址。

2:验证机制

Let’s Encrypt为了校验用户是否有权管理某个域名,支持DNS、HTTP-01等校验机制。

server { 
    listen 80; 

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

而 Nginx 通过 HTTP-01 支持,很好理解,因为它本来就是一个Web服务器,比DNS校验方便的多了。

3:证书签发与续期

因为 Let’s Encrypt 证书有效期是90天,Nginx支持自动续期是它最大的价值。

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; 
}

最后说说一些想法,未来 Let’s Encrypt 支持的证书有效期会极大缩短,所以自动化更新证书是个非常重要的机制。

而 Nginx 作为全球最著名的Web服务器,支持自动续期证书,可以说是极大的及时雨,看来我开源的自动续期证书的项目(https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au)可以关闭了。

相关文章:


© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容