Ubuntu+Apache部署Let’s Encrypt免费证书

这两天沃通可真是捅了个大娄子,废了自己不说还顺带把Startcom也带进去了…

(喏,就这个:谷歌也不再信任沃通的证书 StartCom CA一并受到同等处罚

而刚好,我的博客用的就是Startcom的免费证书orz…废话不说,既然已经到了这个地步,只好赶紧换证书了……

早就听过Let’s Encrypt,全自动证书签发项目,还是免费的…于是决定就用这个啦!(免费的也只有这个了…)


Let’s Encrypt有三种签发方式,分别是

  • apache插件模式
  • 自己开个web服务器验证模式
  • 把文件放在webroot文件夹验证模式

第一种我的apache版本不支持,第三种需要所有子域名在同一目录内,所以只能用第二种了…


首先停止apache,否则会冲突:

/etc/init.d/httpd stop

获取Let’s Encrypt:

我用的是ubuntu,其它系统可以去这儿看看:https://certbot.eff.org/

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

然后就可以开始签发了:

./certbot-auto certonly --email [email protected] --agree-tos --standalone -d www.zhoushangren.com -d zhoushangren.com

其中把邮件地址换成你自己的,快到期时貌似会有邮件提醒。-d参数后跟一个域名,最多可以跟100个。

对了,还有就是所有要签发的域名都需要解析到当前服务器IP上~

如果不出意外的话,很快就能看到类似下面的信息:

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.zhoushangren.com/fullchain.pem. Your cert
will expire on 2017-02-01. To obtain a new version of the
certificate in the future, simply run Let’s Encrypt again.

现在去重新配置证书路径吧~证书位于/etc/letsencrypt/live/yourdomain.com/,其中yourdomain.com为刚才生成证书时第一个-d参数后面的域名。
最后启动apache:
/etc/init.d/httpd start
大功告成!

证书的续期也非常方便,执行./certbot-auto renew即可。