如果我们域名使用的是DNSPOD解析,也可以利用对应的脚本快速配置Let's Encrypt证书。在这篇文章中,大鸟将整理这个脚本如何针对DNSPOD解析的域名获取Let's Encrypt证书的。
大鸟在之前的博文中有分享过几篇免费SSL证书,我们也可以参考:
1、关于OneinStack一键包快速自动配置Let’s Encrypt免费SSL证书方法的教程
2、LNMP V1.4一键快速部署Let’s Encrypt免费SSL证书
3、又拍云免费申请Let’s Encrypt SSL证书以及简易部署过程
4、记录一次在WDCP面板环境安装SSL证书实现HTTPS网址
5、VestaCP面板环境给站点自动部署Let’s Encrypt免费SSL证书
6、AMH5.2面板站点配置SSL证书实现HTTPS加密
7、记录Namecheap免费Comodo SSL证书替换Symantec SSL申请过程
8、【Nginx、Apache、IIS】常规网站Web环境配置SSL证书 教程
9、利用ZeroSSL在线免费获取Let’s Encrypt SSL证书
10、免费申请AlphaSSL通配符/泛域名SSL证书
第一、准备工作
1、Linux VPS、服务器配置好WEB环境,且服务器上添加和布局好网站
2、检查我们当前的域名是不是使用的DNSPOD解析
3、创建API Token
默认API Token是关闭的,我们需要登入https://www.dnspod.cn/console/user/security 进行开启和创建。
这里创建好之后做好记录,等会需要用到。
第二、下载DNSPOD一键安装Let's Encrypt脚本
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-dnspod.sh wget https://github.com/xdtianyu/scripts/raw/master/le-dns/dnspod.conf chmod +x le-dnspod.sh
下载和授权
第三、修改dnspod.conf配置文件
TOKEN="YOUR_TOKEN_ID,YOUR_API_TOKEN" RECORD_LINE="默认" DOMAIN="vps100.net" CERT_DOMAINS="vps100.net www.vps100.net" #ECC=TRUE
这里需要修改TOKEN(注意格式)、DOMAIN、CERT_DOMAINS三项。注意将文件里面替换的时候格式。
第四、自动执行配置
./le-dnspod.sh dnspod.conf
看到这样的结果可以确定能够成功安装,而且会在当前的cert目录中有一个对应的域名文件夹。
第五、配置SSL到网站中
我们在自动获取到Let's Encrypt证书之后,我们需要到Nginx(如果是用apache则不同方法),进行配置文件修改。
ssl_certificate /root/certs/对应域名证书文件夹/cert.pem; ssl_certificate_key /root/certs/对应域名证书文件夹/privkey.pem; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;
修改配置文件之后,重新启动Nginx生效。
看来是成事了,我们后续只要修改下是否需要强制301跳转(Nginx环境强制http 301跳转https设置记录)指向HTTPS。
第六、设置Let's Encrypt自动续约
因为默认都是免费90天(这一点不好,好歹给个一年嘛),但是我们需要到期之前进行手机续约,这里也支持利用crontab自动激活续约。
0 0 5/20 * * /root/le-dnspod.sh /root/le-dnspod.conf >> /var/log/le-dnspod.log 2>&1
将自动续约任务添加到crontab中,这样会自动根据设定的时间检测且续约。执行之后重启nginx生效。