無法存取雲端存放庫上的Adobe Commerce:部署時出現403禁止或404找不到
本文討論如何解決雲端基礎結構上的Adobe Commerce失敗部署錯誤,錯誤類似於以下內容:
無法存取'https://repo.magento.com/archives/magento/magento-cloud-configuration/magento-magento-cloud-configuration-x.x.x.x.zip' URL: HTTP/1.1 403 Forbidden ''。 或無法下載"https://repo.magento.com/archives/magento/module-customer-segment/magento-module-customer-segment-102.0.5.0-patch2.zip"檔案(HTTP/1.1 404找不到)"。
受影響的產品和版本
- 雲端基礎結構上的Adobe Commerce 2.2.x、2.3.x和2.4.x
問題
部署上的錯誤訊息指出無法存取存放庫URL。
要再現的步驟
手動觸發部署,或透過執行環境的合併、推播或同步化來觸發。
實際結果
部署卡住。 在專案UI的部署錯誤記錄中,會顯示類似以下內容的錯誤訊息:
"無法存取'https://repo.magento.com/archives/magento/magento-cloud-configuration/magento-magento-cloud-configuration-x.x.x.x.zip' URL: HTTP/1.1 [403 Forbidden or 404 Not Found]"。
(按一下專案UI中的「失敗」圖示以檢視記錄。)
預期結果
已成功完成部署。
原因
該錯誤是由授權金鑰(存取金鑰)無效、未指定或未正確指定所造成。
金鑰無效的部分原因包括:
- 您已使用共用帳戶產生金鑰。
- 由於付款問題,您的授權先前已撤銷。
解決方案
採取以下步驟以解決授權金鑰的問題(請參閱以下章節,以瞭解每個步驟的詳細資訊):
- 取得有效的授權金鑰(如果您非常確定您的金鑰有效,請略過此步驟)。
- 在
env:COMPOSER_AUTH
變數中新增金鑰值(或確定有正確的值),並檢查在專案層級和環境層級的變數中以及專案根目錄中的auth.json
檔案(如果存在)中是否一致地指定金鑰。 - 如果未指定授權金鑰值或具有其他值,請更新或刪除
auth.json
,以便在單一位置設定金鑰。
1.取得有效的授權金鑰
如果您使用在共用帳戶下建立的金鑰,您需要聯絡Adobe Commerce授權擁有者,他為您提供存取權,並要求他們為您產生金鑰。
如果您的授權先前因付款問題而被撤銷,而且您已解決這些問題且已更新授權,則您需要產生新的驗證金鑰。
2.在env:COMPOSER_AUTH變數中新增索引鍵值,並檢查auth.json中是否指定了相同的索引鍵
在開發人員檔案中,請參閱準備現有系統和新增驗證金鑰中的指示和相關資訊。
3.更新或刪除auth.json
以下逐步說明如何更新授權金鑰:
-
登入在雲端基礎結構上擁有您的Adobe Commerce SSH金鑰的電腦。
-
登入您的專案:
magento-cloud login
-
建立分支以更新程式碼(在下列範例中,分支名稱為
auth
是從主要分支建立的):magento-cloud environment:branch auth master
-
變更至專案根目錄。
-
可選:如果您偏好的話,請刪除
auth.json
並繼續步驟9。 -
在文字編輯器中開啟
auth.json
。code language-json { "http-basic": { "repo.magento.com": { "username": "<public_key>", "password": "<private_key>" } } }
-
新增正確的驗證金鑰。
-
儲存變更並退出文字編輯器。
-
認可並合併您的變更:
git add -A
git commit -m "<message>"
git push origin master
-
等待專案部署。