Action required: Let's Encrypt certificate renewals

文章目录

    连续收到了 letsencrypt 的提示邮件

    Hello,
    
    Action may be required to prevent your Let's Encrypt certificate renewals
    from breaking.
    
    If you already received a similar e-mail, this one contains updated
    information.
    
    Your Let's Encrypt client used ACME TLS-SNI-01 domain validation to issue
    a certificate in the past 60 days. Below is a list of names and IP
    addresses validated (max of one per account):
    
    Xxx xxx
    
    TLS-SNI-01 validation is reaching end-of-life. It will stop working
    temporarily on February 13th, 2019, and permanently on March 13th, 2019.
    Any certificates issued before then will continue to work for 90 days
    after their issuance date.
    
    You need to update your ACME client to use an alternative validation
    method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your
    certificate renewals will break and existing certificates will start to
    expire.
    
    Our staging environment already has TLS-SNI-01 disabled, so if you'd like
    to test whether your system will work after February 13, you can run
    against staging: https://letsencrypt.org/docs/staging-environment/
    
    If you're a Certbot user, you can find more information here:
    https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210
    
    Our forum has many threads on this topic. Please search to see if your
    question has been answered, then open a new thread if it has not:
    https://community.letsencrypt.org/
    
    For more information about the TLS-SNI-01 end-of-life please see our API
    announcement:
    https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209
    
    Thank you,
    Let's Encrypt Staff
    

    参照邮件内的链接说明,step by step 进行了升级。

    确认 cerbot 版本为 0.28 或者更高版本

    $ certbot --version
    certbot 0.19.0
    

    我阿里云服务器上的 certbot 版本过低,需要升级。

    Ubuntu 16.04

    sudo apt-get update
    sudo apt upgrade certbot python-certbot-nginx
    

    经过极度漫长的过程,终于升级成功。测试一下:

    $ certbot --version
    certbot 0.28.0
    

    移除对 tls-sni-01 的引用

    sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak"
    

    更新

    sudo certbot renew --dry-run
    
    输出:
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Processing /etc/letsencrypt/renewal/www.sunzhongwei.com.conf
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Cert not due for renewal, but simulating renewal for dry run
    Plugins selected: Authenticator nginx, Installer nginx
    Renewing an existing certificate
    Performing the following challenges:
    http-01 challenge for www.sunzhongwei.com
    Waiting for verification...
    Cleaning up challenges
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    new certificate deployed with reload of nginx server; fullchain is
    /etc/letsencrypt/live/www.sunzhongwei.com/fullchain.pem
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ** DRY RUN: simulating 'certbot renew' close to cert expiry
    **          (The test certificates below have not been saved.)
    
    Congratulations, all renewals succeeded. The following certs have been renewed:
      /etc/letsencrypt/live/www.sunzhongwei.com/fullchain.pem (success)
    ** DRY RUN: simulating 'certbot renew' close to cert expiry
    **          (The test certificates above have not been saved.)
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式