如:现在我们要设置frps的泛域名解析
我们申请https证书采用 acme.sh 脚本 github教程地址 点这里参考
先安装脚本
curl https://get.acme.sh | sh
安装后默认位置在 ~/.acme.sh/
上面这个目录默认是隐藏的 可以输入Tab补齐切换
可以设置别名 alias acme.sh=~/.acme.sh/acme.sh
生成证书 有2种模式,http和dns模式
我们采用的是dns模式,域名服务商为阿里云
可以到下面链接设置RAM子用户即可,注意用户权限设置http dns权限,可以参考下图
https://ram.console.aliyun.com/users
设置ali_key & ali_secret
export Ali_Key="xxxxxxxx"
export Ali_Secret="xxxxxxxx"
生成泛域名证书
acme.sh --issue -d *.youdomain.com" --dns dns_all
执行后生成证书在 *.youdomain.com 文件夹
配置Nginx设置
server {
listen 80 default_server;
listen [::]:80 default_server;
rewrite ^ https://$http_host$request_uri? permanent; #https跳转到https,永久重定向
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate "/etc/nginx/ssl/fullchain.cer";
ssl_certificate_key "/etc/nginx/ssl/*.youdomain.com.key";root /home/youdomain/www;
index index.html;</code></pre>
}
安装证书
sudo ./acme.sh --installcert -d .youdomain.com \ --key-file /etc/nginx/ssl/.youdomain.com.key <br /> --fullchain-file /etc/nginx/ssl/fullchain.cer <br /> --reloadcmd "service nginx force-reload"
service nginx force-reload 可以重新加载证书
nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/.cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误
重新生成证书
sudo ./acme.sh --renew -d *.youdomain.com --force
手机扫一扫
移动阅读更方便
你可能感兴趣的文章