在Windows上執行’cloudmanagerselect’時,由於憑證信任問題而發生Adobe I/O CLI TypeError

本文說明如何解決在Windows上執行Adobe I/O CLI cloudmanager:org:select命令時所遇到的TypeError,這個問題是由與Node.js和網路安全性解決方案相關的憑證信任組態問題所造成。

說明 description

環境

  • 透過Adobe I/O CLI (aio)的Adobe Experience Manager Cloud Manager
  • Node.js v24.14.1
  • Windows作業系統

問題/症狀

執行命令aio cloudmanager:org:select時發生下列錯誤:

TypeError: Cannot read properties of null (reading 'headers')
at ...HttpExponentialBackoff.js:142:35
...
Node.js v24.14.1
  • 使用網路安全性解決方案(例如VPN或SSL檢查)的環境中可觀察到錯誤。
  • 此問題與Node.js憑證驗證有關,因為依預設,它不信任公司根CA。

原因

發生此錯誤是因為Node.js不信任網路安全性解決方案所使用的公司根CA。 因此,憑證驗證會失敗,且CLI網路程式庫會收到Null回應物件。

解決方法 resolution

若要修正在Windows上執行Adobe I/O CLI cloudmanager:org:select命令時所遇到的TypeError,請執行下列步驟:

  1. 作為診斷測試(不是永久修復),請暫時停用TLS憑證驗證以確認根本原因:

    • 設定環境變數: set NODE_TLS_REJECT_UNAUTHORIZED=0
    • 執行: aio cloudmanager:org:select
    • 如果命令成功,這可確認Node.js已拒絕憑證鏈結。 請勿讓此設定保持啟用,因為它會停用所有TLS驗證並帶來安全性風險。
  2. 對於永久解決方案,請從Windows匯出公司或網路安全裝置根CA憑證:

    • 開啟certmgr.msc
    • 瀏覽至受信任的根憑證授權單位。
    • 找到相關的根憑證,並將其匯出為Base-64編碼的.pem檔案。
  3. 設定Node.js以信任此憑證:

    • 設定環境變數: set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem
    • 執行: aio cloudmanager:org:select
    • 這可讓Node.js在其預設清單之外信任企業CA,而不會停用驗證。
  4. 或者,如果您的Node.js版本支援,請使用系統CA存放區:

    • 設定環境變數: set NODE_OPTIONS=--use-system-ca
    • 執行: aio cloudmanager:org:select
recommendation-more-help
experience-cloud-kcs-help-kbarticles