[英]SSL certificate generated by Firebase Hosting does not include connected domain
我們在上周遇到了兩次這個問題。 對於具有兩個連接域的 Firebase 托管項目,證書中不包含一個域。
嘗試與瀏覽器連接似乎返回 503 狀態代碼,Chrome 在控制台中顯示net::ERR_CERT_COMMON_NAME_INVALID
。 curl
返回
(51) SSL:沒有替代證書主題名稱與目標主機名“{host}”匹配
(其中{host}
是主機名/連接的域)
要直接檢查證書,即SAN ,我使用以下命令:
gnutls-cli --print-cert ${host} < /dev/null \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
| openssl x509 -noout -text \
| grep DNS | tr , '\n' | tr -s " "
這將返回 100 個證書的列表,包括工作域的主機名,但僅返回失敗域的默認 firebaseapp.com/*.firebaseapp.com 條目。
注意:我在這里使用gnutls-cli
,因為openssl s_client -connect ${host}:443
似乎沒有在請求中包含主機名,並且總是為 firebaseapp.com/*.firebaseapp.com 加載證書
我已經聯系了 Firebase 支持,但他們的最后回復(大約 16 小時前)是“有兩個不同的域與同一個項目相關聯,但我需要確認這是否受支持”。 我很確定這是支持的,因為在我對問題的分析期間,我發現了 400 多個 SAN 用於我們負責的域旁邊的相同的兩個主機名。
關於我們如何解決這個問題的任何建議? 我已經嘗試刪除並重新添加自定義域,但這並沒有改變任何東西。
切換托管在技術上不會太困難,但我們的主要問題是 DNS 由我們客戶的服務提供商控制,他們很難更改已經在生產中的任何內容。
在與 Firebase 支持人員反復交流后,他們發現根域包含一個不包含letsencrypt.org的CAA 記錄。
在我們的特定情況下,修復方法是僅包括讓我們為子域加密。 例如,使用以下設置
awesomesite.com
firebaseapp.awesomesite.com
我們可以使用 dig 查詢記錄:
$ dig CAA awesomesite.com +noall +answer && dig CAA firebaseapp.awesomesite.com +noall +answer
; <<>> (...) <<>> CAA awesomesite.com +noall +answer
;; global options: +cmd
awesomesite.com. 299 IN CAA 0 iodef "mailto:cert@awesomesite.com"
awesomesite.com. 299 IN CAA 0 issue "digicert.com"
; <<>> (...) <<>> CAA firebaseapp.awesomesite.com +noall +answer
;; global options: +cmd
firebaseapp.awesomesite.com. 3599 IN CAA 0 issue "letsencrypt.org"
正如你所看到的,所訪問的firebaseapp.awesomesite.com
有letsencrypt.org一個CAA紀錄,而awesomesite.com
並沒有被感動。
現在一切正常,更新記錄后不久。 我們不必在 Firebase 托管上重新觸發部署或刪除/添加連接的域(我以前嘗試解決問題的方法)。
解決問題的替代方法:
2020 年 9 月更新:根據我收到的一封電子郵件,由於Let's Encrypt 過渡到 ISRG 的 Root可能會破壞向后兼容性,因此 Google 正在將 SSL 證書提供商遷移到新的 Google 運行的 CA。 根據該電子郵件,需要使用pki.goog
的附加 CAA:
firebaseapp.awesomesite.com. 3599 IN CAA 0 issue "pki.goog"
firebaseapp.awesomesite.com. 3599 IN CAA 0 issue "letsencrypt.org"
對於您的自定義域,如果您的 DNS 記錄具有指向其他提供商的 A 記錄或 CNAME 記錄,則 Firebase 無法配置 SSL 證書。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.