azure-active-directory - 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 应用程序网关入口控制器
解决方案
你试过这个吗?
默认情况下,如果为该 Ingress 启用了 TLS,控制器将使用 308 永久重定向响应将 HTTP 客户端重定向到 HTTPS 端口 443。
这可以
ssl-redirect: "false"
在 NGINX 配置映射中全局禁用,或者使用nginx.ingress.kubernetes.io/ssl-redirect: "false"
特定资源中的注释在每个 Ingress 中禁用。
有关Ingress 文档链接的更多信息。
推荐阅读
- android - 如何为前台服务中的每个上传进度创建多个通知?
- mysql - 加快对大型数据库的 MySQL 查询
- powershell - 使用 PowerShell 复制 Jenkins 服务器文件夹中的项目文件和文件夹
- java - JUnits 检查 IF Else 条件
- jenkins-pipeline - Jenkins 管道代码 - 在发布步骤中发布 jsonEvent
- python - Pyspark Dataframe Checkpoint 然后 insertInto 无法正常工作
- java - 在构建目录中本地复制依赖项的命令,而无需在 Gradle 中编写任务 copyDependencies
- python - 为什么当我传递词汇表参数时 sklearn 的 TfidfVectorizer 返回一个空矩阵,但当我不传递时却没有?
- python - Argparse 将无法识别参数
- python - 如何在 Selenium Python 中获取元素的文本值?