零依赖!使⽤acme.sh设置nginx多个https证书⾃动更新,⽆限
续期https证书
在⾕歌的推动下, ⽹站⽀持https⼏乎成了刚需,⽽免费的https证书⼤多只有⼀年的使⽤时间,且⼆级⼦域名需要单个申请,⽽遇到https 证书失效的情况, 基本就是⼀次⽣产事故,为了彻底解决以上问题, 本⽂提供⼀种通⽤的, ⽆限续期https证书的教程。
安装nginx
# 获取源
sudo rpm -ivh /packages/centos/7/noarch/RPMS/arch.rpm
# 安装Nginx
sudo yum install -y nginx
# 设置开机启动
sudo systemctl enable nginx
# 开启nginx
sudo systemctl start nginx
# 重启nginx
sudo systemctl restart nginx
# nginx重新加载配置⽂件
sudo systemctl reload nginx
以配置域名hk.v2fy为例,新建配置⽂件 /etc/nginx/conf.d/f
touch /etc/nginx/conf.d/f
在 /etc/nginx/conf.d/hk.v2fy 中添加http服务相关内容
server {
listen 80;
listen [::]:80;
server_name hk.v2fy;
root /usr/share/nginx/html/hk.v2fy;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
新建hk.v2fy对应的⽹站⽂件夹
mkdir -p /usr/share/nginx/html/hk.v2fy
新建⽂件
touch /usr/share/nginx/html/hk.v2fy/index.html
在/usr/share/nginx/html/hk.v2fy/index.html 中输⼊
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>V2⽅圆HK</title>
</head>
<body>
Test
</body>
</html>
重启nginx
···
sudo systemctl restart nginx
···
访问测试
hk.v2fy/
hk.v2fy
下⾯开始添加https
安装 acme.sh
curl get.acme.sh | sh -s email=zhaoolee@gmail
source ~/.bashrc
获取https证书
acme.sh --issue -d hk.v2fy --nginx
https证书⽣成的位置
在这⼀步acme.sh读取了nginx配置,并⾃动⽣成了证书
将证书拷贝到/etc/nginx/ssl⽂件夹
创建⽂件夹
mkdir -p /etc/nginx/ssl/hk.v2fy
拷贝证书
acme.sh --install-cert -d hk.v2fy \
nginx ssl证书配置--key-file /etc/nginx/ssl/hk.v2fy/hk.v2fy.key \
--fullchain-file /etc/nginx/ssl/hk. \
--reloadcmd "service nginx force-reload"
请⼀定使⽤以上语法acme.sh --install-cer进⾏拷贝, 这样证书才能保证在新的位置也能⾃动更新。
将 /etc/nginx/ssl/hk.v2fy/ 中的证书⼿动配置到 nginx, 并重启nginx⽣效
将/etc/nginx/conf.d/f中的内容替换为
server {
listen 80;
listen [::]:80;
server_name hk.v2fy;
root /usr/share/nginx/html/hk.v2fy;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name hk.v2fy;
root /usr/share/nginx/html/hk.v2fy;
ssl_certificate "/etc/nginx/ssl/hk.";
ssl_certificate_key "/etc/nginx/ssl/hk.v2fy/hk.v2fy.key"; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
打开
证书已⽣效
证书获得
由于我们全程使⽤ acme.sh 进⾏安装,acme.sh会⾃动为你创建⼀个定时任务, 每天 0:00 点⾃动检测所有的证书, 如果快过期了, 需要更
新, 则会⾃动更新证书.
运⾏ps aux | grep acme可以看到scme⼀直在后台运⾏
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论