首页 > 解决方案 > Kubernetes 和 AAD 身份验证

问题描述

在配置的 AKS 上有一个带有使用 AAD 身份验证的应用程序的 docker 容器。

基于这篇文章,还有配置入口。API 运行良好。

当我添加到带有 https 前缀的 Azure Active Directory 应用程序注册回复 URL 时,我收到错误“请求中指定的回复 url 与为应用程序配置的回复 url 不匹配”。我看到在浏览器地址行中,redirect_uri 以 http 开头。

当我添加以 http 开头的回复 URL 时,我收到“异常:关联失败”。

我尝试过的:添加到 ingress.yaml 设置 ingress.kubernetes.io/force-ssl-redirect: "true"

可能有一些方法可以强制入口运行 https 而不是 http,或者可能有一些 AAD 重定向配置?有任何想法吗?

更新 2:http 重定向可能是因为 ADAL。

PS:能够在没有答案的情况下找到类似的主题

UPDATE3:我决定不使用 nginx 作为入口。相反,我现在正在使用负载均衡器。很快就可以使用 Azure 应用程序网关入口控制器

标签: azure-active-directorykubernetes-ingressazure-aks

解决方案


你试过这个吗?

默认情况下,如果为该 Ingress 启用了 TLS,控制器将使用 308 永久重定向响应将 HTTP 客户端重定向到 HTTPS 端口 443。

这可以ssl-redirect: "false"在 NGINX 配置映射中全局禁用,或者使用nginx.ingress.kubernetes.io/ssl-redirect: "false"特定资源中的注释在每个 Ingress 中禁用。

有关Ingress 文档链接的更多信息。


推荐阅读