centos7 免费获取 Let's Encrypt https 证书

日期: 2019-01-07         浏览量: 2977

一. 系统要求


    系统支持Python2.7以上版本以及支持GIT工具


二. 安装及生成证书


    git clone https://github.com/letsencrypt/letsencrypt

    cd letsencrypt

    ./letsencrypt-auto certonly --standalone --email 邮箱@***.com -d 域名.com -d www.域名.com

    根据自己的实际情况将邮箱和域名更换成自己的 -d 可以添加多个二级域名

    

    *****  重要提醒 如果nginx服务在启动的情况下,请先停掉nginx服务 *****


    在完成Let's Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/***.com/"域名目录下有4个文件就是生成的密钥证书文件。

    cert.pem  - Apache服务器端证书

    chain.pem  - Apache根证书和中继证书

    fullchain.pem  - Nginx所需要ssl_certificate文件

    privkey.pem - 安全证书KEY文件

    Nginx环境,需要用到fullchain.pem和privkey.pem两个证书文件。只要将对应的ssl_certificate和ssl_certificate_key路径设置成我们生成的2个文件就可以,最好不要移动和复制文件,因为续期(证书有效期90天)的时候直接续期生成的目录文件就可以,不需要再手工复制。
    

三. nginx 配置


    

server {
    listen       80;
    listen       443;
    ssl on;
    server_name  www.*******.cn;
    ssl_certificate /etc/letsencrypt/live/waduobao.cn/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/waduobao.cn/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location /
    {
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header   Host                   $http_host;
        proxy_set_header   X-NginX-Proxy    true;
        proxy_set_header   Connection "";
        proxy_http_version 1.1;
        proxy_pass http://127.0.0.1:8383;
    }
    access_log  /var/log/nginx/access/admin-wdb.log;
}



nginx 配置主要是 ssl_certificate 和 ssl_certificate_key 请根据自己文件路径自行修改



Let's Encrypt证书是有效期90天,需要定期更新证书 ( 更新证书方法和生产证书方法一样 )。我们可以写个脚本定时更新证书。