部署Let’s Encrypt证书

距离Let’s Encrypt进入正式版已经一月有余,恰巧自己有个域名需要申请SSL证书,因此尝试了一把。网上有很多第三方的自动化工具,但是个人感觉还是官方提供的比较放心,毕竟是安全证书相关。

Let’s Encrypt的逻辑是一次配置,后面全部自动化。他们提供了一个部署工具,certbot,用于申请及更新证书。用法比较简单,去https://certbot.eff.org选择你的web server和linux distribution,就会显示对应的操作步骤。

以本人习惯的Nginx + Centos7为例,先是下载certbot后赋予可执行权限(以下命令皆以root权限运行):

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

然后直接执行,它会自动安装必要的软件,然后启动交互界面:

./certbot-auto

交互界面比较简单,一路按照要求填写即可,结束后就会生成请求的SSL证书,简单吧!
接下来测试一下证书的renew,只需要一行:

./certbot-auto renew -w /path/to/your/wwwroot --dry-run

其中-w参数指定之前在交互界面里输入的web文件根目录,以nginx为例,默认为/usr/share/nginx/html。
而–dry-run参数代表这次只是一次测试,并不会保存实际的证书文件。

用上述命令测试成功后,就可以把renew加入crontab了。EFF推荐每天执行两次,反正只有到允许renew的时候才会进行证书更新,其他时候直接返回。

45 2,14 * * * /path/to/certbot-auto renew -w /path/to/your/wwwroot --quiet
0 5 * * * systemctl restart nginx >/dev/null 2>&1

最后,更新nginx的相关参数,具体可以参考我的另一篇文章
到这里就大功告成了!Let’s Encrypt证书默认有效期3个月,到期前会自动更新,不用关心有效期的问题!

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

9 thoughts on “部署Let’s Encrypt证书”

  1. 赞。不过我实验室的那个网站还是默默续了三年 comodo 的泛域名 SSL 证书

    Google Chrome 51.0.2704.84 Google Chrome 51.0.2704.84 Mac OS X  10.11.5 Mac OS X 10.11.5
    1. @yu
      毕竟自己的网站随便怎么玩都成,但是实验室的东西还是不怎么玩不起

      Google Chrome 51.0.2704.84 Google Chrome 51.0.2704.84 Mac OS X  10.11.5 Mac OS X 10.11.5
      1. @yu
        子域名不是非常多的话,startssl的免费证书也是不错的选择。我前段时间签了个,发现可以一个证书里签数个域名了,以前只能一个一个签

        Firefox 38.0 Firefox 38.0 Windows XP Windows XP
        1. @youran
          还是在各种地方有挺多个的。
          而且一方面是老板说这些钱实验室全 cover 了。一方面是各种配置的麻烦 vs. 在 namecheap 上三年点一下。
          所以…

          Google Chrome 51.0.2704.84 Google Chrome 51.0.2704.84 Mac OS X  10.11.5 Mac OS X 10.11.5
    1. @maple’s sky
      一开始用的elegant box,就习惯上了那个作者的风格,多年后想换主题的时候看哪个都不顺眼,最后决定是这个了。
      PS:感觉linode jp的网络还是不稳定,全国总会有地方超时,我这每天都有来自cloudxns的报警。

      Google Chrome 51.0.2704.103 Google Chrome 51.0.2704.103 Mac OS X  10.9.5 Mac OS X 10.9.5
      1. @youran
        目前没有什么明显问题, 我是在 DNSPod 挂的监控, 除已知的宕机有提示, 目前没什么问题! 在着目前访问者也比较少! 就没怎么在意!
        PS: 以前的站推了重买域名重建, 没什么内容.. :-)

        Firefox 46.0 Firefox 46.0 Windows XP Windows XP
      2. @youran
        顺带一提, 你这 AJAX 评论完回调数据就只有评论者和日期, 没有评论内容, 得刷新才能看到评论内容! 应该是回调没做好! :-)

        Firefox 46.0 Firefox 46.0 Windows XP Windows XP
        1. 太懒了没去修正呵呵。抽空看了下, 是comments-ajax.php里面用comment_text()取不到值,但是comment_ID()是正常的。换个方式修正了。

          Google Chrome 51.0.2704.106 Google Chrome 51.0.2704.106 Windows 10 x64 Edition Windows 10 x64 Edition

Leave a Reply

Your email address will not be published. Required fields are marked *