花生殼DDNS爲什麼不支持LetsEncrypt申請

Inspired by Let's Encrypt Community , thx to sahsanu, jsha, and orzorc.web

開端

Lets Encrypt 是一款免費的網站 SSL 證書籤發機構,Certify 是一款開源的 Windows + IIS 下的 Lets Encrypt 申請/自動更新程序。api

花生殼是oray的動態域名解析服務。測試

筆者在嘗試在啓用了花生殼的域名網站申請 Lets Encrypt 證書時,發現 validation 老是失敗,彷彿證書服務沒法訪問咱們的域名同樣。網站

並且這個問題與 域名、網站配置、操做系統 無關。spa

發展

在 Lets Encryp t社區筆者發現了問題的癥結:操作系統

Oray 的 DNS 不支持 DNS 0x20。.net

在向 Lets Encrypt 申請證書時,會對每一個提供的域名進行解析,當 Lets Encrypt 發出解析請求時,會隨機將域名中的部分字母大寫。server

例如:域名爲 envsafe.cn,但發送時改成 eNvsAfE.cNdns

Lets Encrypt 期待 DNS 的應答中的域名爲徹底一致的 eNvsAfE.cN,不然將拒絕申請ip

然而 oray 的 DNS 應答中域名變回了非大寫的 envsafe.cn

在聯繫了oray的專員客服後,筆者認爲花生殼的技術人員對此不甚瞭解,等待他們更新服務,不如另闢蹊徑。

結局

既然 oray 的 DNS 不行,那就臨時換一個能行的。經筆者測試,DNSPod(騰訊雲)的 DNS 是能夠的。

成功申請證書步驟以下:

  1. 在域名管理後臺的 NS 管理中,選擇自定義DNS,輸入DNSPod的域名解析服務地址,免費版地址爲:
    • f1g1ns1.dnspod.net
    • f1g1ns2.dnspod.net
  2. 在DNSPod中添加域名,等待DNS生效(經測試,cn域名幾乎即時生效,info須要約12小時,cc須要約18小時)
  3. 增長域名的A記錄(能夠隨便寫),下載安裝 DNSPodClientLite 啓用域名的動態解析。
  4. 運行Certify獲取證書
  5. 再次修改域名NS,改回oray,中止DNSPodClientLite。

證書有效期爲90天,應在證書到期以前執行上述步驟 renew。

相關文章
相關標籤/搜索