簡體   English   中英

Firebase Hosting 生成的 SSL 證書不包括連接的域

[英]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.orgCAA 記錄

在我們的特定情況下,修復方法是僅包括讓我們為子域加密。 例如,使用以下設置

  • 域名: 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.comletsencrypt.org一個CAA紀錄,而awesomesite.com並沒有被感動。

現在一切正常,更新記錄后不久。 我們不必在 Firebase 托管上重新觸發部署或刪除/添加連接的域(我以前嘗試解決問題的方法)。

解決問題的替代方法:

  • 刪除 CAA 記錄:從根域(或中間域)中刪除 CAA 記錄
  • 擴展 CAA 記錄:在根域的 CAA 記錄中的域列表中包含letsencrypt.org

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 證書。

https://support.google.com/firebase/answer/9137747?hl=en

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM