CentOS下使用Let's Encrypt(已安装VestaCP面板)
项目地址:https://letsencrypt.org/
Github:https://github.com/letsencrypt/letsencrypt
一共三种方式安装证书。
若装有VestaCP面板推荐第三种方法;
若为较新的系统(如CentOS 7及以上)推荐第二种;
若为较旧的系统(如CentOS 6及以下)第一种第二种差不多(推荐第一种)。
2016年11月30日更新:
三、VestaCP安装方法:
在管理面板上编辑网站信息,启用SSL支持后勾选Lets Encrypt,保存即可。(面板会自动续期)
(详细见:CentOS下安装VestaCP)
2016年10月08日更新:
二、certbot安装方法:
项目地址:https://certbot.eff.org/
今天更新SSL证书的时候才发现,官方已经发布了新的工具certbot,使用起来比之前的要稍微简单一些。
# 安装epel库
yum install epel-release
# 安装certbot
yum install certbot
# 之后就和以前的方法的语法一样了,具体参数可以参考下文的正常安装方法
# 生成SSL证书
certbot certonly --agree-tos -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的完整路径
# 或(这种方法需要暂停你的网络服务器)
# certbot certonly --standalone -d example.com -d www.example.com
生成后的证书在 /etc/letsencrypt/live/ 目录下。
# 续期SSL证书
certbot renew --quiet
# 卸载certbot(letsencrypt)
yum -y remove certbot
一、letsencrypt安装方法:
CentOS 6.x及以下,需要先升级python到2.7+。
1.首先安装git工具
yum -y install git
2.获取并安装项目git包
git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt
3.生成SSL证书
邮箱可选,用来在证书快要到期时发送提醒邮件。
./letsencrypt-auto certonly --agree-tos -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的完整路径
或(这种方法需要暂停你的网络服务器)
./letsencrypt-auto certonly --standalone -d 域名1 -d 域名2等等
生成后的证书在 /etc/letsencrypt/live/ 目录下。
4.续期SSL证书
./letsencrypt-auto certonly --renew-by-default -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的路径;
5.卸载letsencrypt
cd ~
rm -rf letsencrypt .local
rm -rf /etc/letsencrypt /var/lib/letsencrypt /var/log/letsencrypt /tmp/*
然后修改网站配置即可。
VestaCP面板
1.登录并启用SSL
进入面板管理界面
2.添加自动续期
保存以下代码为文件并更改权限,然后添加计划任务一个月执行一次即可。
# 给证书续期
./letsencrypt-auto certonly --renew-by-default -m 邮箱 -d 域名1 -d 域名2等等 -a webroot --webroot-path=/网站目录的绝对路径 && \
# 复制证书到网站证书目录(请根据实际情况酌情修改)
cd /etc/letsencrypt/live/site.cf/ && \
cat fullchain.pem > /home/admin/conf/web/ssl.site.cf.crt && \
cat privkey.pem > /home/admin/conf/web/ssl.site.cf.key && \
cat fullchain.pem /home/admin/conf/web/ssl.site.cf.ca > /home/admin/conf/web/ssl.site.cf.pem && \
# 复制证书到vesta目录(请根据实际情况酌情修改)
cat fullchain.pem > /usr/local/vesta/ssl/certificate.crt && \
cat privkey.pem > /usr/local/vesta/ssl/certificate.key && \
# 重启vesta以应用新证书
service vesta restart && \
bash /usr/local/vesta/bin/v-restart-service "nginx";
最近回复