如何在 Kubernetes 上部署 Identity Server?



我想在 Kubernetes 1.8 上部署 Identity Server 4,并将其用作我的 Web 应用程序和 Azure Active Directory 之间的联合网关(首先)。

如果我使用本地 k8s 服务名称从我的 Web 应用程序调用身份服务器,则我的用户在登录期间被重定向到错误的身份服务器 URL(包含本地 k8s 服务名称),这显然不起作用。我们正在使用隐式流。

因此,我使用 dns 名称设置了一个 Azure 负载均衡器,并将标识服务器配置为可以使用域名作为公共源 URL 进行外部访问。

但是,在同一群集中运行的Web 应用程序无法使用身份服务器的外部 URL 访问身份服务器(发现失败)。

如果我在另一个 Kubernetes 集群上运行身份服务器,那么一切正常。

我的问题是:

如何在 Kubernetes 中正确部署身份服务器?我真的需要另一个 Kubernetes 集群吗?

注意:我在使用 ACS 引擎创建的 Azure 上使用 Kubernetes(因为我们混合了 Windows 和 Linux 容器)。

我正在使用AKS(Azure托管的kubernetes),并且在与我的IS4服务相同的集群中有一个客户端 asp.net 核心2 Web应用程序,没有任何问题。这两个Web应用程序都由Nginx提供kube-lego,用于LetsEncrpyt TLS支持,DNS由Azure DNS提供。

我没有使用PublicOrigin,而是客户端应用程序的授权(在openidconnect设置中)使用IS4服务的完整(外部Azure)DNS名称。如果要使用客户端的群集服务命名,则可以使用 PublicOrigin

最新更新