如何對 Application Load Balancer 中的驗證問題進行疑難排解?

2 分的閱讀內容
0

在 Application Load Balancer 中設定驗證時收到錯誤訊息。

解決方法

身分提供者 (IdP) 或 Application Load Balancer 的錯誤設定,可能會在設定 Application Load Balancer 的驗證時造成錯誤。若要對驗證錯誤進行疑難排解,請完成下列任務。

redirect_mismatch

如果您使用的是 Amazon Cognito,則將回呼網址設定為 https://<domain>/oauth2/idpresponse。如果您使用其他 IdP,則將重新導向網址設定為 https://<domain>/oauth2/idpresponse
注意:使用用於存取 Application Load Balancer 的網域取代<domain>

HTTP 401: 未授權

若要解決 HTTP 401: 未授權的錯誤,請更新下列組態,以在 Application Load Balancer 和 IdP 上完全相符:

  • 發行人
  • 授權端點
  • 權杖端點
  • 用戶端 ID/用戶端密碼

此外,根據您的使用案例,將 Action on unauthenticated request (對未驗證請求的動作) 設定為 Allow (允許) 或 Authenticate (client reattempt) (驗證 (用戶端重新嘗試))。

HTTP 500: 內部伺服器錯誤

負載平衡器必須能夠與 IdP 權杖端點 (Token Endpoint) 和 IdP 使用者資訊端點 (UserInfoEndpoint) 進行通訊。當負載平衡器與這些端點通訊時,Application Load Balancer 僅支援 IPv4。

若要解決 HTTP 500: 內部伺服器錯誤的錯誤,請完成下列任務:

  • 確認 IdP 端點 DNS 名稱是否可公開解析。驗證功能無法解析私有網域名稱。
  • 將傳出規則新增至負載平衡器安全性群組,該群組允許透過 HTTPS 連接埠 443 傳輸至 IdP 端點的流量。
  • 確定負載平衡器子網路 ACL 允許往返 IdP 端點的流量:
    針對輸出規則,您必須將指定目的地 IP (IdP 端點) 和目標 TCP 連接埠 443 設定為 Allow (允許)。
    針對輸入規則,您必須將來源 IP (IdP 端點) 和目標 TCP 連接埠範圍 1024-65535 設定為 Allow (允許)。
  • 設定負載平衡器子網路路由表以連接 IdP 端點:
    針對面向網際網路的負載平衡器,請設定網際網路閘道的預設路由來連接公用 IdP 端點。
    針對具有 dualstack-without-public-ipv4 IP 位址的內部負載平衡器或平衡器,請設定 NAT 閘道或執行個體預設路由來連接公用 IdP 端點。
    針對所有其他網路拓樸,您必須有足夠的端到端路由,才能連接 IdP 端點。
  • 選取有效的 OAuth2 授予類型。Application Load Balancer 支援授權程式碼授予以取得存取權杖。如果在 IdP 上設定了不正確的授予,則 Application Load Balancer 會產生錯誤。
  • 確保 IdP 權杖或使用者資訊端點在 5 秒內回應。

其他 HTTP 錯誤代碼

如需對 Application Load Balancer 產生的其他 HTTP 錯誤代碼進行疑難排解,請參閱負載平衡器產生 HTTP 錯誤

相關資訊

透過 Application Load Balancer 內建驗證簡化登入

使用 Application Load Balancer 驗證使用者

應用程式用戶端的應用程式特定設定

AWS 官方已更新 8 個月前