Let's Encrypt 免费SSL证书

时间:2023-03-09 18:12:39
Let's Encrypt 免费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@.org -d .org -d www..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天的,需要手工更新续期。
  
  * * * *  /var/www/letsencrypt/letsencrypt-auto renew
  将此命令添加到定时任务中即可自动续期。