wangbin
  • wangbin
  • 2017-04-22
  • IT

又一次https:let's encrypt

一. 简介

之前startssl申请的https证书是wosign签发的,这家伙作死,先后被火狐、chrome、windows、mac、其他浏览器和操作系统移除信任,所以只能使用别的了。

发现let's encrypt提供免费的https证书,而且还提供了certbot工具来维护,很方便。

二. 安装

//下载脚本文件
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

//安装
./certbot-auto
输入:邮箱(webmaster@wangbin.io)->a->n->域名(wangbin.io)->1

//生成证书
//1:使用webroot模式,Renew证书时不用暂停服务
//2:-w目录参数,/var/www/example是web服务根目录地址
//3:-d域名参数,申请https证书的域名,可以多个
~/certbot-auto certonly --webroot -w /var/www/example -d wangbin.io -d wangbin.io

//测试renew
//通过以后定期执行~/certbot-auto renew就可以renew证书了
~/certbot-auto renew --dry-run

三. 定期renew

let's encrypt证书有效期是90天,所以我们要定期renew,防止过期无法使用。

将下面一行加入定时任务里就可以了,每晚自动renew

0   3   *   *   *       ~/certbot-auto renew

四. nginx配置

server {
    listen       443;
    server_name  wangbin.io;
    server_name  wangbin.io;

    ssl on;
    ssl_certificate      /etc/letsencrypt/live/wangbin.io/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/wangbin.io/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/wangbin.io/chain.pem;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        proxy_pass   http://wangbin.io;
    }
}

五. 总结

https://wangbin.io/

参考:

  1. certbot官网

  2. https://segmentfault.com/a/1190000005797776