免费SSL证书Let's Encrypt安装使用教程
Let's Encrypt有什么样的背景有多牛逼,请自行Google
本文内容参考官网教程,需要的可以直接浏览官网教程,上面有各种环境下配置使用的教程。
本人博客使用Nginx + CentOS 7组合,要查看官方教程,请浏览https://certbot.eff.org/#centosrhel7-nginx
安装
Let's Encrypt官方提供了certbot这个工具供我们管理证书使用,certbot软件包已经收录在epel源中,epel源安装可以直接参考使用中科大epel镜像源,国内使用速度更快。已经安装的可以跳过此步骤。
完成epel源安装后,执行如下命令:
$ yum -y install yum-utils $ yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
执行安装完成后,就可以安装certbot了,命令如下
$ sudo yum install certbot-nginx
开始
certbot 内置nginx插件,使用nginx的网站可以使用如下命令自动申请签发SSL证书:
$ sudo certbot --nginx
上述命令运行后,它会检测到目前正在运行中的所有站点的域名,并以列表的形式展示,输入需要申请SSL证书的域名编号,然后回车开始申请签发。
如果要同时申请多个域名证书,就输入多个域名的编号,以逗号或空格分开。
申请成功后会提示如何使用HTTPS,内容如下:
1: Easy - Allow both HTTP and HTTPS access to these sites 2: Secure - Make all requests redirect to secure HTTPS access
此处我选择 1 ,即允许同时使用HTTP和HTTPS
选择后,certbot会将证书配置写入到相应域名下的配置文件中,至此,证书申请已经完成。
最后注意查看命令结束后的IMPORTANT NOTES:
,如果成功,里面会有Congratulations
提示,并说明证书文件的存放路径。
自动更新证书
为了安全,Let's Encrypt签发的证书有效期为90天,我们要配置任务在证书到期前自动申请并更新新的证书。
首先我们测试更新功能:
sudo certbot renew --dry-run
上述命令如果没有错误,说明自动更新功能正常,但并未实际更新证书。
实际使用时手动执行如下命令更新证书:
sudo certbot renew
为了做到自动化,我们要设置计划任务定时检查更新
编辑/etc/crontab
增加一行规则
0 23 * * * root certbot renew --quiet
该规则表示每天23时0分以root用户静默执行检查更新命令
除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址