nginx免费SSL证书申请及配置

Let's Encrypt是一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS,目前Facebook等大公司开始加入赞助行列。
 
个人站点和小型应用的最佳选择,缺点在于有效期为90天,但我们可以用计划任务配置自动续期。
 
那么我们开始安装, 假设我的域名为:163.org
 

1、克隆代码

 
  git clone https://github.com/letsencrypt/letsencrypt
  
  # 没有git的先安装git 
  # yum install git
  # apt-get install git

2、安装

 
  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的域名(必须是当前主机绑定的地址,否则验证失败。)
 
 

 

3、配置

 
在完成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路径设置成对应的文件路径就可以。
    不要移动和复制文件,因为续期的时候还会在这个文件生成证书。
 

4、Let's Encrypt免费SSL证书有效期

 
  Let's Encrypt证书是有效期90天的,需要手工更新续期。
  
  * * * * 1 /var/www/letsencrypt/letsencrypt-auto renew
  将此命令添加到定时任务中即可自动续期。

 
 
 
 
 
posted @ 2017-06-26 16:47  范斯特洛夫斯基  阅读(917)  评论(0编辑  收藏  举报