小站的startSSL期限到了,遂登录renew,发现各种坑,网上找到有一种新的免费SSL,名为“Let’s Encrypt”。
Let’s Encrypt是由mozilla,cisco,chrome,facebook等各厂商发起的一个免费SSL证书签发的项目,旨在推广HTTPS服务,提高网络安全指数,其工具开源地址为https://github.com/letsencrypt/letsencrypt.git。可以用clone git的方式获得部署文件。不过这里要用一种更轻量更快的方式。
特别说明一下,操作环境为国内电信网络,阿里云Ubuntu 14.04 LTS系统。
1.安装python
apt-get install python
2.修改pip源地址
检查~/.pip/pip.conf是否存在,不存在则创建。
修改pip.conf内容为(更改python代码库镜像源为国内镜像,此处为科技大学):
[global]
trusted-host = pypi.mirrors.ustc.edu.cn
index-url = http://pypi.mirrors.ustc.edu.cn/simple
3.获取到部署证书程序
4.修改可执行权限
chmod a+x certbot-auto
5.执行自动部署
./certbot-auto
6.执行证书制作(据说上一步就可以制作证书,我用的是这个步骤)
./certbot-auto certonly --standalone --email hanq@live.cn -d ldmf.net
最终生成的证书文件在/etc/letsencrypt/live/* 下。
去修改apache/nginx的证书配置即可。
ssl_certificate /path_to_ssl_file/fullchain.pem
ssl_certificate_key /path_to_ssl_file/privkey.pem
执行Nginx热刷新
service nginx reload
更多玩法详见官方文档:https://certbot.eff.org/
注1:小站用的是nginx服务器,需要在location下添加一行fastcgi_param HTTPS on;才可以否则会报错“ssl_error_rx_record_too_long”
注2:Let’s Encrypt做的证书有效期为90天,到期需要renew,或者做定时任务去renew。
注3:一直用renew失败,尝试升级了主机配置,把内存从500M改成1G后成功,失败的同志们可以尝试升配解决问题。