在 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 驗證使用者
應用程式用戶端的應用程式特定設定