IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    切换到Lets Encrypt免费证书

    神飞发表于 2015-12-28 07:11:46
    love 0

    前端的一大特色就是喜欢折腾,就像这几天轰动前端界热门话题《 关于『真阿当』对目前流行前端技术的批判,大家有什么看法?》一样。这不,发现 DNSpod 可以通过Lets Encrypt的验证之后,立马更换到他们家的证书了。

    然而Lets Encrypt加的自动安装的脚本还是略麻烦,于是就用了 xdtianyu 写的 Lets-encrypt 自动化脚本,一键生成证书了。而且,用这个脚本的另一个好处是可以设置自动更新证书,毕竟Lets Encrypt的默认有效期只有3个月。

    简单步骤,直接引用Lets-encrypt的说明:

    下载到本地

    wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf  
    wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh  
    chmod +x letsencrypt.sh  
    

    配置文件

    只需要修改 DOMAINKEY DOMAINDIR DOMAINS 为你自己的信息

    ACCOUNT_KEY="letsencrypt-account.key"  
    DOMAIN_KEY="example.com.key"  
    DOMAIN_DIR="/var/www/example.com"  
    DOMAINS="DNS:example.com,DNS:whatever.example.com"  
    

    执行过程中会自动生成需要的 key 文件。

    运行

    ./letsencrypt.sh letsencrypt.conf
    

    注意

    需要已经绑定域名到 /var/www/example.com 目录,即通过 http://example.com http://whatever.example.com 可以访问到 /var/www/example.com 目录,用于域名的验证

    cron 定时任务

    每个月自动更新一次证书,可以在脚本最后加入 service nginx reload等重新加载服务。

    0 0 1 * * /etc/nginx/certs/letsencrypt.sh /etc/nginx/certs/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1  
    

    另外在生成证书的时候,可能会遇到提示无法访问 youdomain.com/.well-known/.... 目录的错误log,(当然如果你的配置可以直接访问这个目录就不会出现这个错误,)这个时候在你的nginx添加个alias就好了。

    比如:

    location /.well-known/ {  
            alias path/to/.well-known/;
        }
    

    重启nginx服务即可。apache配置类似。

    切换证书前后对比:

    嗯,证书高了一个level,但具体有什么好处,还请高人告知。

    可惜了花钱买的3年的comodo证书。



沪ICP备19023445号-2号
友情链接