在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,請執行下列步驟:
-
作為診斷測試(不是永久修復),請暫時停用TLS憑證驗證以確認根本原因:
- 設定環境變數:
set NODE_TLS_REJECT_UNAUTHORIZED=0 - 執行:
aio cloudmanager:org:select - 如果命令成功,這可確認Node.js已拒絕憑證鏈結。 請勿讓此設定保持啟用,因為它會停用所有TLS驗證並帶來安全性風險。
- 設定環境變數:
-
對於永久解決方案,請從Windows匯出公司或網路安全裝置根CA憑證:
- 開啟
certmgr.msc。 - 瀏覽至受信任的根憑證授權單位。
- 找到相關的根憑證,並將其匯出為Base-64編碼的
.pem檔案。
- 開啟
-
設定Node.js以信任此憑證:
- 設定環境變數:
set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem - 執行:
aio cloudmanager:org:select - 這可讓Node.js在其預設清單之外信任企業CA,而不會停用驗證。
- 設定環境變數:
-
或者,如果您的Node.js版本支援,請使用系統CA存放區:
- 設定環境變數:
set NODE_OPTIONS=--use-system-ca - 執行:
aio cloudmanager:org:select
- 設定環境變數:
recommendation-more-help
experience-cloud-kcs-help-kbarticles