申请Let‘s Encrypt免费SSL证书、自动化续签证书


一、环境

安装证书的环境为Centos + Nginx,如果没有安装Nginx则需要先安装。


二、申请流程

1、开放80443端口

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

2、安装 certbot
使用certbot工具能够很方便的申请和续签let’s encript证书。

yum install -y epel-release
yum install -y certbot

3、执行命令

certbot certonly --webroot -w [Web站点目录] -d [站点域名] -m [联系人email地址] --agree-tos

站点目录:html文件保存位置,只需要到文件夹即可。比如index.html在/www/a/b/index.html,则这里只要取/www/a/b即可
站点域名:购买的域名。
联系人email地址:填写自己的邮箱即可。
4、申请成功后,会在/etc/letsencrypt/live/{域名}/下,生成一些文件。

在这里插入图片描述

5、可以查看一下证书有效期

openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem

6、配置Nginx(参考)

ssl_certificate    /etc/letsencrypt/live/{域名}/fullchain.pem;
ssl_certificate_key    /etc/letsencrypt/live/{域名}/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497  https://$host$request_uri;

7、重启Nginx

nginx -s reload

三、自动化续签

1、根据需求,选择下面两句话之一

## 更新证书
certbot renew --dry-run
 
## 如果不需要返回的信息,可以用静默方式
certbot renew --quiet

2、加入crontab

crontab -e

3、加入命令(续签并重载nginx配置)

0 10 * * 1 certbot renew --quiet && nginx -s reload

这里配置的是每周一 10点执行一次,根据个人需求更改配置即可。

你可能感兴趣的:(其他笔记,ssl,自动化,nginx,网络协议)