Centos7.6安装certbot-auto
下载certbot-auto
$wget https://dl.eff.org/certbot-auto
修改为可执行权限
$chmod a+x certbot-auto
执行certbot-auto来生成证书,-d xxx.com为指定域名,可以指定多个域名,--nginx为nginx配置,会检查nginx,
会自动安装python等相关软件
$sudo ./certbot-auto certonly --nginx -d xxx.com -d xxx2.com
上一步执行可能会报没有安装nginx,进行查看
$which nginx
进行nginx软连接
$sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
$sudo ln -s /usr/local/nginx/conf/ /etc/nginx
执行完软连接再次执行certbot-auto来生成证书提示nginx没有SSL,删除nginx的安装,重新配置安装nginx
$sudo rm -rf /usr/local/nginx
cd nginx-1.16.1/
$./configure --prefix=/usr/local/nginx --with-http_ssl_module
$sudo make && make install
安装完nginx后再执行certbot-auto来生成证书,可以了,期间需要输入有些确认信息以及邮箱。
对应证书生成路径 /etc/letsencrypt/live/域名/
在nginx的配置文件配置如下证书即可,
$sudo ./nginx -s reload //重新加载配置文件
==========================================
server {
listen 443 ssl;
server_name xxx.com;
ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
}
===================================
证书自动续期
sudo crontab -e
添加如下内容,每月1号1点进行证书更新,因为证书有效期是3个月的,先简单点每月更新,后面再修改
0 1 1 * * /home/tom/certbot-auto renew --renew-hook "sudo nginx -s reload"
#service crond reload
#service crond restart
#service crond status
certbot-auto certificates 查看SSL证书的过期时间
强制更新证书命令:certbot-auto renew --force-renew