使用Certbot申请/续签ssl证书
Certbot
1. 安装Certbot
yum install certbot python3-certbot-nginx
2. 申请SSL证书
# 这里你需要申请几个域名的证书你就写几个,每个域名前面都是-d选项
sudo certbot certonly --nginx -d hub.fushudi.cn -d www.fushudi.cn
这里如果报错说没有安装nginx插件的话就是python3-certbot-nginx
这个包没装上
使用的是Amazon Linux 2 的话,执行这条命令安装插件
sudo yum install certbot-nginx
安装好之后重新执行申请证书的命令
sudo certbot certonly --nginx -d hub.fushudi.cn -d www.fushudi.cn
然后按照他的要求你输入一些东西就等他自动完成,然后执行完会告诉你你的域名的证书存在哪个目录,默认是存在
/etc/letsencrypt/live/hub.fushudi.cn/
这个目录下
3. 增加域名
如果刚开始申请的证书不够用,现在又需要额外的申请几个域名,可以这样
sudo certbot certonly --nginx -d hub.fushudi.cn -d www.fushudi.cn -d "你的新域名"
还是这条命令,后面继续跟上你的域名就可以了
4. nginx配置https
证书申请好了我们就可以开始对nginx做配置了
server {
listen 80;
server_name www.fushudi.cn;
server_name fushudi.cn;
# 重定向HTTP请求到HTTPS
return 301 https://www.fushudi.cn$request_uri;
}
server {
listen 443 ssl;
server_name fushudi.cn www.fushudi.cn;
# SSL配置
ssl_certificate /etc/letsencrypt/live/hub.fushudi.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hub.fushudi.cn/privkey.pem;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
配置好之后重启nginx
systemctl restart nginx
然后你的域名就是https的了
5. 自动续签证书
crontab -e
0 0 1 * * /usr/bin/certbot renew --quiet
到这里就配置好了,他每个月的第一天会检查你的证书有没有过期,过期了会帮你续签
本文来自博客园,作者:FuShudi,转载请注明原文链接:https://www.cnblogs.com/fsdstudy/p/18284535