Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。
https.jpg
申请步骤如下:

#安装git及其他用到的包
yum install git zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y

#获取letsencrypt
git clone https://github.com/letsencrypt/letsencrypt

#进入letsencrypt目录
cd letsencrypt

#生成证书
./letsencrypt-auto certonly --standalone --email ice@mail.com -d mhl.xyz -d www.mhl.xyz

#证书位置
/etc/letsencrypt/live/mhl.xyz
cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

#Nginx环境中,对应的ssl_certificate和ssl_certificate_key路径设置成的2个文件就可以。

附nginx ssl参数配置文件其他省略:

ssl_certificate cert/mhl.xyz.pem;
ssl_certificate_key cert/mhl.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;

Let's Encrypt证书有效期90天的,需要定时更新续期:

./letsencrypt-auto certonly --renew-by-default --email ice@mail.com -d mhl.xyz -d www.mhl.xyz

或者加入crontab定时任务执行即可;

0 0 1 */2 *  /data/letsencrypt/up.sh

每两个月的1日0点执行up.sh更新证书续期;
如果报错"Problem binding to port 80: Could not bind to IPv4 or IPv6."
停掉nginx进程重新执行即可;

Tags标签: 证书 Tags相关文章如下:

上一篇:Dynatrace PerformGo上海峰会掠影

下一篇:zabbix3.x中文图片乱码终极解决