利用acme.sh生成免费的Let’s Encrypt泛域名/通配符SSL证书

  • A+
所属分类:博览笔记
前言

SSL证书服务商不计其数,但是对于我们这种小博客一年花几万元购买通配符证书显然是不太可能实现的。在数家提供免费通配符证书的商家中,Let’s Encrypt尤其显眼,虽然这证书只有三个月时长,但是这也从某种角度来讲提高了安全性,况且证书是可以利用脚本部署无限续期的!好处多多!

直接进入正题吧,在申请证书之前请给你的博客加上CDN为什么这么做?当然是为了避免暴露真实IP喽!国内的大部分博客都是利用LNMP一键安装包编译的生产环境,除此之外几乎没有任何安全措施,一旦遭受DDOS或者CC攻击,都不带反抗的,更别说SQL注入之类的,没有任何征兆就OVER了,况且黑心服务商,一个比一个能吹嘘自己的防御宽带多大......实际上,不购买专业的防护套餐,不论你是阿里云还是腾讯云都会秒死,最多短信告知你服务器受到了攻击(你要充值了...)。

接入了CDN之后生成的证书会自动抓取WWW解析下的IP,当然这个IP是CDN节点的,这样源站就“安全”了,又减少一次暴露源站IP的风险。

具体操作如下:

  • 接入CDN服务
  • 克隆acme.sh脚本
  • 授权DNS服务商API接口
  • 执行acme.sh脚本
  • 搞定!

一、接入CDN服务商就不多说了,阿里云,腾讯云,又拍云(真心推荐),上海云盾(目前免费)等等...

二、克隆acme.sh脚本

登录服务器的控制终端,输入以下代码:

代码

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

利用acme.sh生成免费的Let's Encrypt泛域名/通配符SSL证书

出现“Install success!”字样说明安装成功,忽略三个红色的报错。

三、授权DNS服务商API接口

登录服务器的控制终端,输入以下代码:

代码

export CX_Key="1234"

export CX_Secret="sADDsdasdgdsf"

acme.sh --issue --dns dns_cx -d mecrr.com -d *.mecrr.com

犹豫我用的是COULDXNS解析服务商提供的服务,所以export和--dns后面是CX开头,其他服务商请查看acme.sh帮助文档,记得将mecrr.com和*.mecrr.com改成自己的域名哈,否者就给树懒先生免费生成SSL证书了,嘿嘿。此外Key和Secret需要自己更改,Couldxns的接口获取地址在这里

利用acme.sh生成免费的Let's Encrypt泛域名/通配符SSL证书

接下来会有120s的等待,acme.sh验证域名的机制是这样的,先利用API添加一条DNS下的TXT解析记录,等待验证成功之后便删除这条记录,所以使用脚本之后阿里云云解析的用户会收到邮件域名解析删除的提醒。

利用acme.sh生成免费的Let's Encrypt泛域名/通配符SSL证书

已经成功了,利用acme.sh脚本生成了通配符证书,证书变存在了图中绿色目录下,不过证书期限只有三个月,但是不用担心,因为acme.sh已经自动添加了一个脚本到了Linux的定时任务里面,每天00.30分自动验证证书是否过期,如果过期便会自动续费,所以说是“永久免费”的通配符证书,你值得拥有,嘿嘿!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: