阿里云 CentOS6 + Nginx 部署Let’s Encrypt SSL证书
系统环境:阿里云 CentOS release 6.10 (Final)
Python版本:Python 2.6.6
官方文档:https://certbot.eff.org/lets-encrypt/centos6-nginx
官方文档很简单,就3步,但是基础环境不对的话,执行第2步时肯定会出错。
一、基础环境准备
1. yum环境
由于阿里云官方CentOS6的yum源已经清空,所以如果你在CentOS6上运行yum安装包时会出现404找不到包的情况。
解决办法:
删除 /etc/yum.repo.d/ 目录下的所有文件,然后使用腾讯云的 CentOS6 yum源:
# rm -rf /etc/yum.repos.d/* # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repo # yum clean all # yum makecache
2. Python环境
Let's Encrypt 现在签发证书要求python3以上,经过我的测试需要python3.6以上,这里我安装python3.6
源码安装Python3.6:
wget https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tgz tar -zxvf Python-3.6.12.tgz cd Python-3.6.12 ./configure make && make install
将系统python2环境改为python3
mv /usr/bin/python /usr/bin/python.old ln -s /usr/local/bin/python3 /usr/bin/python vim /usr/bin/yum 将首行 python改为 python2.6
3. nginx环境
Let's Encrypt 自动签发证书需要寻找的文件和目录有 /etc/nginx , /usr/bin/nginx ,如果你是yum安装的nginx,那默认就是了,不用改什么。
我的是我手动编译安装的,安装到了目录 /data/app/nginx ,所以需要稍微修改一下:
ln -s /data/app/nginx/sbin/nginx /usr/bin/nginx ln -s /data/app/nginx/conf/ /etc/nginx
二、开始安装
1. 安装 Certbot
wget https://dl.eff.org/certbot-auto mv certbot-auto /usr/local/bin/certbot-auto chown root /usr/local/bin/certbot-auto chmod 0755 /usr/local/bin/certbot-auto
2. 安装证书
这里有两种方式,看个人喜欢或实际情况决定。
方式一:证书签发与部署全自动完成
/usr/local/bin/certbot-auto --nginx
方式二:只生成证书,修改nginx配置需要你手动去修改
/usr/local/bin/certbot-auto certonly --nginx
3. 设置自动续期
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew -q" | sudo tee -a /etc/crontab > /dev/null
共有 0 条评论