繁体   English   中英

多个 docker 容器在同一主机上相互解析

[英]Multiple docker containers resolving each others on the same host

一些背景知识:我目前正在使用 Docker 为我的身份提供者 (IdP) 和服务提供者 (SP) 开发 SAML 测试环境。

简而言之:

  1. IdP 应该能够联系 SP。
  2. SP 应该能够联系 IdP。
  3. Docker(对于 Mac)上的用户应该能够浏览 IdP 和 SP。

在 docker-compose 中有 IdP 和 SP 会生成名称解析错误,因为这两个服务将根据它们的服务名称相互联系。 但是,浏览器无法根据他们的 docker 名称联系他们。

基本上我想要一个适用于我的机器和 docker 容器的 DNS。 您将如何设置?

问题 #1

在 docker-compose 中有 IdP 和 SP 会生成名称解析错误,因为这两个服务将根据它们的服务名称相互联系。

答案

(1) 您可以将本地 DNS 服务器(或主机文件)和 HAProxy 配置为 map IdP 和 SP 到具有不同外部端口的相同 IP 地址。 例如,

https://idp.example.com --> 10.10.40.10:8443

https://sp.example.org --> 10.10.40.10:2443

(2)如何使用 GitHub 存储库中的 Docker 容器构建和运行 Shibboleth SAML IdP 和 SP 提供了有关使用 ZC5FD214CDD0D3022BA7构建 Shibboleth SAML IdP 和 Shibboleth SAML SP 的说明。

  • Shibboleth SAML IdP 负责身份联合。

  • OpenLDAP 负责身份认证。

  • Shibboleth SAML SP 用于保护演示应用程序。

问题 #2

但是,浏览器无法根据他们的 docker 名称联系他们。

答案

(1) 您不能使用 web 浏览器根据其 docker 名称与 IdP 或 SP 进行通信。

(2) 您可以使用 web 浏览器与 IdP 和 SP 基于其 IP 地址/端口本地通信(无 HAProxy)。

您可以使用 Docker 容器构建和运行 Shibboleth SAML IdP 和 SP ,然后按照说明使用 web 浏览器与 IdP 和 SP 基于其 ZA12A3079E14CED426E69BA52B8A90 地址或端口进行通信。

(3) 您可以使用 web 浏览器通过 DNS 和 HAProxy 根据其域名与 IdP 和 SP 进行通信。

问题 #3

基本上我想要一个适用于我的机器和 docker 容器的 DNS。 您将如何设置?

答案

SAML 依靠 web 浏览器将 SAML 请求从 SP 重定向到 IdP,然后将 SAML 响应从 IdP 重定向到 SP。

(1) 您在不同的机器上运行 SAML IdP 和 SAML SP。 因此,您不需要使用 HAProxy 将 map 不同的 Docker 外部端口连接到同一物理机的不同外部端口。

(2) You only need to configure DNS to map the IP address of two different physical machines (which run SAML IdP and SAML SP respectively) to different domain name (such as idp.example.com and sp.example.org).

For the testing environment, you can just modify the local host file of the local machine of your web browser to map different IP address to different domain name without configuring the DNS server.

例如,如果您使用 web 浏览器/Windows 10 机器访问 SAML IdP 和 SAML SP,则可以编辑主机文件“C:\Windows\System32\drivers\etc\hosts”添加以下 IP 地址映射

10.10.40.10 idp.example.com 
10.10.40.11 sp.example.org 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM