我如何排查在 Application Load Balancer 中配置身份验证时遇到的问题?

上次更新时间:2019 年 10 月 22 日

我尝试在 Application Load Balancer 中配置身份验证时收到错误。如何排查这些身份验证问题?

解决方法

在您的 Application Load Balancer 中设置身份验证功能时,身份提供商 (IdP) 或 Application Load Balancer 中的错误配置可能会导致错误。按照以下步骤排查并解决这些常见的身份验证问题。

redirect_mismatch

确认您已将回调 URL (Amazon Cognito) 或重定向 URI(任何其他 IdP)设置为 https://<domain used to access Application Load Balancer>/oauth2/idpresponse

HTTP 401:未授权

  • 验证下列值在您的 Application Load Balancer 和 IdP 上配置相同:
    发布者
    授权终端节点
    令牌终端节点
    客户端 ID/客户端密钥
  • 确认您已将对未经验证请求的操作设置为允许身份验证(客户端重试),具体取决于您的使用案例。

HTTP 500:内部服务器错误

  • 添加出站规则,以允许流量通过 HTTPS(端口 443)到 IdP 终端节点中。
  • 确认每个 Application Load Balancer 子网上的网络访问控制列表规则允许进出 IdP 终端节点的流量。对于出口规则,请指定:目的地 IP - 身份提供商,目的地端口-443 允许。对于入口规则,请指定:源 IP - 身份提供商,目的地端口 1024-65535 允许
  • 确认路由表包括 Application Load Balancer 访问 IdP 终端节点所用的路由。对于公共的 Application Load Balancer 和公共终端节点,确认路由表具有互联网网关路由。对于私有 Application Load Balancer 和私有终端节点,确认路由表具有网络地址转换 (NAT) 网关或 IdP 的 NAT 实例路由。对于其他场景,请确认 Application Load Balancer 子网的路由表具有适当的路由条目,以将连接路由到 IdP 终端节点。
  • 确认选择了有效的 OAuth2 授予类型。Application Load Balancer 支持授权代码授予,以获取访问令牌。如果在 IdP 中配置了不正确的授予,则 Application Load Balancer 会生成错误。

其他 HTTP 错误代码

查看这些说明以解决 Application Load Balancer 生成的其他 HTTP 错误代码。