CentOS6.5+LNMP 站点添加https

参考文章:

1.Let’s Encrypt官网:https://letsencrypt.org/

2.certbot工具官网:https://certbot.eff.org/

3.VPS侦探提供的Let’s Encrypt证书安装教程:https://www.vpser.net/build/letsencrypt-certbot.html

1.启用EPEL

阿里云的CentOS7不用配这个,暂时先不管。

2.安装certbot

yum install certbot

3.使用webroot模式生成证书

首先配置well-known(/.well-known/acme-challenge)的URL,编辑/usr/local/nginx/conf/vhost/的各个conf文件

location ~ /\. { deny all; }

前面加上

location ~ /.well-known/acme-challenge/(.*) { default_type text/plain; }

然后执行

/etc/init.d/nginx reload

然后执行certbot的webroot模式生成证书

certbot certonly --webroot -w /data/wwwroot/www.xxx.com -d www.xxx.com -w /data/wwwroot/file.xxx.com

其中-w指定网站所在目录,-d指定域名,下面这个是certbot官网给的例子

certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is 

成功之后会提示pem文件的保存目录

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/www.vvvtimes.com/fullchain.pem.

出现这个提示说明生成证书成功。

4.nginx配置证书

编辑/usr/local/nginx/conf/vhost/的各个conf文件

在listen 80 后添加 listen 443 ssl;
在root  /data/wwwroot/www.xxx.com; 后添加

ssl_certificate /etc/letsencrypt/live/www.xxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.xxx.com/privkey.pem; ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m;

注意将ssl_certificate和ssl_certificate_key改成你自己的证书目录

保存之后,使用reload命令重新载入配置文件

/etc/init.d/nginx reload

5.续期和更新

由于Let’s Encrypt证书只有90天有效期,可以使用crontab定时任务进行更新

crontab -e

编辑crontab任务,下面这个任务每个12小时续期一次,12小时也是官方推荐的频率

0 */12 * * * certbot renew --quiet --renew-hook "/etc/init.d/nginx reload" 

更新之前可以下面这个命令模拟更新,看一下是否能更新成功

certbot renew --dry-run

关于证书的删除

添加好了证书,也就皆大欢喜了

但是也不免会有删除证书的情况,官方的教程却并没有提到删除证书的信息

下面是从网络上找到的方法,感觉还是蛮有用的

cd /etc/letsencrypt/archiverm -rf xinpure.com/cd /etc/letsencrypt/liverm -rf xinpure.com/cd /etc/letsencrypt/renewalrm xinpure.com.conf

 

备注:(自留其他人可忽略)

/usr/local/certbot/certbot-auto certonly --webroot -w /data/wwwroot/www.xxx.com  -d www.xxx.com -w /data/wwwroot/file.xxx.com

 

 

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?