Let's Encrypt是一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS,目前Facebook等大公司开始加入赞助行列。
我的站点和小型应用的最佳选择,缺点在于有效期为90天,但咱们能够用计划任务配置自动续期。
那么咱们开始安装, 假设个人域名为:163.org
一、克隆代码
git clone https://github.com/letsencrypt/letsencrypt
# 没有git的先安装git # yum install git # apt-get install git
二、安装
cd letsencrypt
./letsencrypt-auto certonly --standalone --email admin@163.org -d 163.org -d www.163.org
命令解析 --standalone 须要手动关闭占用443端口的程序,此命令会占用443端口进行验证
--email admin@163.org 填写您的Email
-d 163.org 须要使用ssl的域名(必须是当前主机绑定的地址,不然验证失败。)
三、配置
在完成Let's Encrypt证书的生成以后,咱们会在"/etc/letsencrypt/live/163.org/"域名目录下有4个文件,这就是生成的密钥证书文件。
cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所须要ssl_certificate文件
privkey.pem - 安全证书KEY文件
若是咱们使用的Nginx环境,那就须要用到fullchain.pem和privkey.pem两个证书文件
# nginx.conf 配置文件中加入生成的证书
server {
server_name
163.org;
listen 443;
ssl on;
ssl_certificate /etc/letsencrypt/live/163.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/163.org/privkey.pem;
}
ps:在Nginx环境中,只要将对应的ssl_certificate和ssl_certificate_key路径设置成对应的文件路径就能够。
不要移动和复制文件,由于续期的时候还会在这个文件生成证书。
四、Let's Encrypt免费SSL证书有效期
Let's Encrypt证书是有效期90天的,须要手工更新续期。
* * * * 1 /var/www/letsencrypt/letsencrypt-auto renew
将此命令添加到定时任务中便可自动续期。
完