网站使用https,免费方便的Let's Encrypt证书

现在越来越多的网站升级到https了,并且Chrome和Firefox开始对HTTP网站显示不安全警告,那么如何方便快捷,最好是免费的升级https呢。没错,Let’s Encrypt证书完全能够满足你的所有需求。

Let’s Encrypt介绍

Let’s Encrypt是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。Let’s Encrypt网址:https://letsencrypt.org/

ISRG是一个关注网络安全的公益组织,其赞助商从非商业组织到财富100强公司都有,包括Mozilla、Akamai、Cisco、Facebook,密歇根大学等等。ISRG以消除资金,技术领域的障碍,全面推进加密连接成为互联网标配为自己的使命。

Let’s Encrypt项目于2012年由 Mozilla 的两个员工发起,2014年11年对外宣布公开,2015年12月3日开启公测。

Let’s Encrypt优势

Let’s Encrypt有众多互联网顶级公司的参与,保证了其自身的可信度和可持续性,加上免费这一大杀器,本应该大杀四方,哪里还有那些收费ssl证书的活路。但是,Let’s Encrypt证书的有效期只有90天,到期后需要提交更新,在初期,Let’s Encrypt 的安全证书配置起来比较麻烦,需要手动获取及部署。存在一定的门槛,没有一些技术底子可能比较难搞定。虽然有一些网友就自己做了一些脚本来优化和简化部署过程,但还是有些麻烦不是,并且个人制作的脚本存在一定的使用风险和安全隐患。

但是,现在Let’s Encrypt官方推出了Certbot工具,简单敲几行命令就能完成所有配置,并且能够自动续期,妈妈咱已不用惦记90天的问题了。

Certbot使用

Certbot网址:https://certbot.eff.org/,打开网站后看到:

Imgur

可以根据操作系统和使用的软件来选择相应的命令,以centos7上的nginx为例:

  • 安装Certbot

    1
    $ sudo certbot --nginx
  • 执行配置命令

    Certbot有一个Nginx插件,它在许多平台上都受支持,并且安装了证书。

    1
    $ sudo certbot --nginx

    运行此命令将为您获得证书,并让Certbot自动编辑您的Nginx配置以便为其提供服务。如果您感觉更保守,并且想手动更改Nginx配置,则可以使用certonly 子命令:

    1
    $ sudo certbot --nginx certonly
  • 自动更新

    Certbot可以配置为在证书过期之前自动续订您的证书。自从让我们将证书最后加密90天后,最好利用此功能。您可以通过运行以下命令来测试证书的自动续订:

    1
    $ sudo certbot renew --dry-run

    如果工作正常,您可以通过添加运行以下命令的cron job或systemd timer来安排自动续订:

    1
    certbot renew

    执行cron命令

    1
    $ sudo crontab -e

    一个cron的例子可能是这样的,它会在每天的中午和午夜运行:

    1
    0 0,12 * * * certbot renew 
  • certbot追加域名

    列出由Certbot管理的所有证书信息

    1
    $ sudo certbot certificates

    追加域名

    1
    $ sudo certbot --expand -d existing.com -d example.com -d newdomain.com