[新手教程]申请https泛域名解析
前置准备
- 教程开始,我们默认相信小伙伴们对基本的域名购买及解析有了一定的认识和实践
- 一个正常的域名
- 一台公网服务器
域名解析操作
如:现在我们要设置frps的泛域名解析
- 设置二级域名 frp.xx.com 解析到服务器IP地址
- 设置泛域名 *.frp.xx.com 解析到二级域名 frp.xx.com
申请证书
我们申请https证书采用 acme.sh 脚本 github教程地址 点这里参考
- 先安装脚本
curl https://get.acme.sh | sh
注意:如果遇到以下错误提示,需要先安装 socat 依赖包 yum install socat -y 再执行安装命令。
It is recommended to install socat first
yum install socat -y
-
安装后默认位置在 ~/.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 --dns dns_ali -d *.youdomain.com
执行后生成证书在 *.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;
}
- 安装证书
sudo ./acme.sh --installcert -d *.youdomain.com \
--key-file /etc/nginx/ssl/*.youdomain.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--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
如果,您认为阅读这篇博客让您有些收获,不妨点击一下下方【推荐】按钮。
如果,您希望获取更新的博客,不妨点击下方的的 【关注我】。
如果,博文能对您有所帮助,想给予我更多的鼓励,右方【打赏】随时为您开放(萌萌脸)
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权
专注更高率,自律更自信