NiceLeeのBlog 用爱发电 bilibili~

一次人工申请Let's Encrypt的SSL证书的尝试

2019-10-07
nIceLee

阅读:


一直都是用的阿里云的免费的证书…
最近有了这个需求,于是搜了一下,但是网上各种脚本各种自动化操作,稍不注意就会卡壳,然后就没有然后了。。。
就我感觉,还是了解一下如何人工申请一次证书,回头再去一键吧囧。

证书申请的两种方式

DNS记录认证

  • Let’s Encrypt发出域名证书issue请求
  • Let’s Encrypt回复一串“认证码”
  • 增加一条指定的DNS的TXT/CNAME记录,内容按照上一步的来
  • Let’s Encrypt发出域名证书renew请求
  • Let’s Encrypt查询DNS,通过认证
  • Let’s Encrypt回复证书(这是是经过认证的,不是自签发的那种哦

网站根目录文件认证

  • Let’s Encrypt发出域名证书issue请求
  • Let’s Encrypt回复操作: 你在网站根目录下,创一个xxx文件,文件内容是xxxx
  • 按照上一步创建文件
  • Let’s Encrypt发出域名证书renew请求
  • Let’s Encrypt访问http://你的域名/xxx,经确认获取的内容就是xxxx
  • Let’s Encrypt回复证书

关于自动化

  • 对于个人来讲,网站根目录的写权限很容易获得。因此,很多脚本都是照的这个来的。
    • 这里需要网站自身正在提供http服务,以使得Let’s Encrypt能够通过URL访问的方式来验证文件。
    • 通常来讲,高概率的出错原因是部分脚本画蛇添足地想要一步到位,把Nginx/Apache啥的都牵扯进来。
      实际上,涉及到的只需要在指定目录创建文件就行了。越复杂出错的几率越大。
  • 另一方面,第一种方式自动化也是可行的,但是需要DNS解析方配合(貌似国内就不用想了?
    • Cloudflare这样的DNS解析服务提供者,留出了接口出来方便自动化,只需要账号+token,剩下的就是HTTP请求的事了。

其它

  • 也并不一定要是Let’s Encrypt,反正大家都是这个套路。
    就是验证有木有对于这个域名的所有权,站长应该都很熟悉了。。。

内容
隐藏