Domain-Name-System

主域 SSL 不工作,但萬用字元子域工作

  • December 22, 2020

我有一個通過 AWS Route 53 的域,

主域通過letsencrypt方法得到保護,但不適用於任何萬用字元/子域…

我嘗試使用*.example.com記錄中的域和 DNS TXT 驗證方法重做證書。這適用於我的將 GeoDNS 路由到其特定實例的端點,即fr.example.comus.example.com但是現在當我轉到我的主域example.com時,它現在說它不安全(不再),並且我的大部分程式碼都引用了這個主域錯誤,因為"invalid cert".

當我通過 Chrome 瀏覽器載入此主域時,它報告“不安全”,當我點擊它時,要查看Certificate: (Not Secure)並點擊它,詳細資訊會彈出,顯示我的*.example.com域,但點亮綠色表示該域是安全的。…?

在 Safari 中它說*.example.com certificate name does not match input.

任何想法有什麼問題?如何保護我的主域並同時保護萬用字元?

證書上的萬用字元名稱僅與子域匹配。要保護“裸”域,您需要將該名稱單獨添加到主題備用名稱列表中。

這篇文章解釋了一些關於萬用字元證書的限制。

萬用字元證書

V2 API 支持頒發萬用字元證書。要請求萬用字元證書,只需在 newOrder 請求中發送萬用字元 DNS 標識符。根據 Let’s Encrypt 的政策,萬用字元標識符必須通過 DNS-01 質詢進行驗證,因此與萬用字元標識符對應的訂單授權將僅提供 DNS-01 質詢。證書中的 DNS 名稱可能只有一個萬用字元,並且必須是整個最左邊的 DNS 標籤,例如*.example.com. 單個證書可以具有多個基本域的萬用字元 DNS 名稱,也可以混合使用非萬用字元名稱。

同時包含基域及其萬用字元等效項(例如*.example.comexample.com)的訂單是有效的。在這種情況下,順序中會有兩個授權對象 for example.com,一個代表萬用字元驗證,另一個代表基域驗證。冗餘條目將產生錯誤。例如,同時包含 和 的訂單*.example.comwww.example.com產生錯誤,因為萬用字元條目會使後者變得多餘。

並且在一般情況下參考萬用字元證書,雖然維基百科不是可靠的引用來源,但那裡給出的範例是準確的。

一個萬用字元證書https://*.example.com將保護域上的所有這些子https://*.example.com域:

  • payment.example.com
  • contact.example.com
  • login-secure.example.com
  • www.example.com

由於萬用字元僅涵蓋一級子域(星號與句點不匹配),因此這些域對證書無效:

  • test.login.example.com

“裸”域在作為主題備用名稱單獨添加時有效:

  • example.com

請注意 CA 可能存在的例外情況,例如 DigiCert 的萬用字元加證書包含裸域 example.com 的自動“加號”屬性。

引用自:https://serverfault.com/questions/1047111