腾讯云DNSPod域名API申请 Let's Encrypt 泛解析SSL证书

上节我们说到;
升级了https;
针对单个域名配置ssl证书大家都升级了https,你竟然还不会用?来,我教你!
不明白的可以再进去看看;

这节配置泛解析的ssl证书;
先上腾讯云域名解析;
添加一条泛解析的记录;
如图:
腾讯云云解析

生成nginx配置文件如下:

server {
    listen 80;
    server_name ~^(?<subdomain>.+)\.shidatuos\.cn$;
    #listen 443 ssl;
    root   /usr/local/nginx/html;
    index  index.php index.html index.htm; 
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
        expires 30d;
        access_log off;
    }
    location ~ .*\.(js|css)?$ {
        expires 7d;
        access_log off;
    }
    location ~ /\.ht {
        deny  all;
    }
}

配置完 nginx 重启一下

nginx -s reload

随便访问一个子域名http://1.shidatuos.cn/;
访问出现如下结果;
说明配置成功啦;
SUCCESS (╥╯^╰╥)
访问成功

一、安装linux系统依赖程序
Centos执行命令:

yum update && yum install curl -y && yum install cron -y && yum install socat -y

Ubuntu执行命令:

apt-get update && apt-get install curl -y && apt-get install cron -y && apt-get install socat -y

二、安装 ACME.SH
以下提供三种方式都可以安装

git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install

或者 or

curl https://get.acme.sh | sh

或者 or

wget -O -  https://get.acme.sh | sh

都可以安装成功
亲测有效
acme.sh 实现了 acme 协议;
可以从 letsencrypt 生成免费的证书;
自动为你创建 cronjob;
每天 0:00 点自动检测所有的证书;
如果快过期了, 需要更新, 则会自动更新证书;
安装过程不会污染已有的系统任何功能和文件;
所有的修改都限制在安装目录中;

三、获取域名API
创建密钥,操作参考下图;
DNSPod界面
要注意的是弹出窗口显示完整的 Token;
获取密钥
必须复制保存;
因为只显示这一次;
如果没记住;
那就删除这个再重新创建一个;

得到ID和TOKEN之后;
输入以下命令;
这个命令会根据服务商的不同而不同;
服务商命令

export DP_Id='123456' // 您的id(注意大小写)
export DP_Key='12345678' // 您的token(注意大小写)

再运行签发证书命令;

~/.acme.sh/acme.sh --issue --dns dns_dp -d shidatuos.cn -d *.shidatuos.cn

这里记得把 shidatuos.cn ,替换成你的域名就可以啦;
等待程序自动申请完毕;

执行出现下图的样子说明创建成功啦;
创建密钥成功
这时证书文件已经存放在 /root/.acme.sh 目录下;
而我们需要用到的 fullchain.cer 证书文件与 shidatuos.cn.key密钥文件;
以下SSL证书添加到nginx配置文件中;

ssl on;
ssl_certificate /root/.acme.sh/shidatuos.cn/fullchain.cer;
ssl_certificate_key  /root/.acme.sh/shidatuos.cn/shidatuos.cn.key;
ssl_session_timeout  5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers  on;

还是老样子重启 nginx

nginx -s reload

使用 https 进行访问;
https://1.shidatuos.cn/
https://2.shidatuos.cn/
快看https://1.shidatuos.cn/https://1.shidatuos.cn/;
都支持https访问啦;
只要是这个域名的子域名都支持啦;
哈哈,开不开心;
每天成功一点点;
高冷

史大坨博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论