资讯专栏INFORMATION COLUMN

用Certbot 获取和自动更新SSL证书

xfee / 2568人阅读

摘要:自动化作为,能自动化肯定要自动化,于是搜索了很多资料,看看怎么样可以实现证书的自动申请,搜索结果终于找到了真相,原来用的是的服务。

前言

之前写过一篇「HTTPS时代,免费SSL获取与配置(Apache版)」, 使用的是sslforfree.org 服务,这个服务比较傻瓜,按照步骤一步一步就可以得到证书,但是因为证书最长的过期时间是3个月,每次都需要苦逼得重新去操作一遍。虽然 sslforfree.org 也会发邮件提醒,每3个月操作一下真的很麻烦(终于知道大姨妈的感觉了)。

自动化?

作为 Geeker ,能自动化肯定要自动化,于是搜索了很多资料,看看怎么样可以实现 sslforfree 证书的自动申请,搜索结果终于找到了真相,原来 sslforfree.org 用的是 letsencrypt.org 的服务。里面详细写明了为什么证书只有3个月的原因------为了安全,就是要让你们(自)折(动)腾(化)!

Certbot

官方推荐使用 CertBot的服务。打开网站,按照提示一步一步选择服务器操作系统,网页服务就会自动提示命令行,无脑复制粘贴即可。下面以CentOS 6.x + Apache为例。

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

根据提示输入邮箱和域名,然后再在相应的目录下面创建文件,即可生成证书文件

修改 httpd.conf

SSLCertificateKeyFile /etc/letsencrypt/live/www.yourdomain.com/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/www.yourdomain.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.yourdomain.com/chain.pem

设置 crontab实现自动更新证书

0 0,12 * * * python -c "import random; import time; time.sleep(random.random() * 3600)" && /path/to/certbot-auto renew 

如果生成证书的是用 manual 模式,那么一定概要设置 --manual-auth-hook 设定验证脚本,否则无法自动更新

#!/bin/bash
echo $CERTBOT_VALIDATION > /usr/share/nginx/html/mimvp_home/.well-known/acme-challenge/$CERTBOT_TOKEN
/path/to/certbot-auto renew   --manual-auth-hook  /etc/letsencrypt/renewal/mimji.com.sh
One more thing -- wildcard
./certbot-auto certonly --agree-tos --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory -d "*."
参考资料

http://howboring.us/archives/...

https://blog.mimvp.com/articl...

https://certbot.eff.org/docs/...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35928.html

相关文章

  • 使 Let's Encrypt 证书部署 HTTPS

    摘要:为了推广协议,电子前哨基金会成立了,提供免费证书。部署,包含申请域名部署应用,并开启服务。安装使用获取证书对于,使用的插件获取。 为了推广HTTPS协议,电子前哨基金会EFF成立了 Lets Encrypt,提供免费证书。 Lets Encrypt一个于2015年三季度推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的SSL/TLS...

    he_xd 评论0 收藏0
  • 通过 Certbot 安装 Let's Encrypt 证书,来实现全站的 HTTPS 访

    摘要:甚至和百度的搜索结果也正在给予的网站更高的排名和优先收录权。由于预设的解码器是,所以就不能识别中文。那理解了这个错误原因后,我这边首先想到的就是网站的配置文件中是否含有中文。打开一看,确实存在中文注释。 相关知识 HTTP/HTTPS 是什么? 简单来说,HTTP 是一个传输网页内容的协议,比如我们浏览一个网页,网页上的文字、图片、 CSS 、 JS 等文件都是通过 HTTP 协议传输...

    Lsnsh 评论0 收藏0

发表评论

0条评论

xfee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<