主域 SSL 不工作,但萬用字元子域工作
我有一個通過 AWS Route 53 的域,
主域通過
letsencrypt
方法得到保護,但不適用於任何萬用字元/子域…我嘗試使用
*.example.com
記錄中的域和 DNS TXT 驗證方法重做證書。這適用於我的將 GeoDNS 路由到其特定實例的端點,即fr.example.com
…us.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.com
和example.com
)的訂單是有效的。在這種情況下,順序中會有兩個授權對象 forexample.com
,一個代表萬用字元驗證,另一個代表基域驗證。冗餘條目將產生錯誤。例如,同時包含 和 的訂單*.example.com
會www.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 的自動“加號”屬性。