我需要接收以下请求intranet.domain.com和webmail.domain.com在同一个 IIS 网络服务器上。
该网络服务器有两个内部 IP 地址,分别托管这两个子域。
是否有人可以建议我如何使用我已实施的 Cisco ASA 5505 将每个 URL 的查询重定向到 Web 服务器上托管的相应私有内部 IP?
两个网站都托管在端口 443 上,使用相同的数字(通配符)证书。
我可以使用主机标头并更新元数据库中的 SecureBindings 属性来执行此操作,但这会破坏 ActiveSync 推送电子邮件的能力。
答案1
您不能在同一个 IP 地址上托管两个不同的安全 (https) 网站。
我看到您已在 Web 服务器上通过设置两个内部 IP 解决了这个问题。但是,通过防火墙的流量将被加密,因此 ASA 无法读取主机标头,因此无法重定向到正确的内部 IP。
最简单的解决方案是拥有两个外部 IP,每个 IP 都通过 NAT 转换为 Web 服务器上的内部 IP。
答案2
首先 - 这不是 Cisco ASA 或 NAT 可以为您解决的问题。
我看到了 3 个潜在的解决方案:
- 在内部网络的不同服务器上安装负载平衡器/前端/代理,并根据请求的主机名将请求重新路由到 IIS 上正确的内部 IP
- 获取另一个外部 IP,并使用端口转发或一对一 NAT 到辅助内部 IP
- 重新配置您的 IIS 以使用单个 IP(您已经在使用相同的通配符证书)
编辑:我不知道 SNI 限制。除了获取第二个外部 IP 之外,我找不到其他解决方案
答案3
ASA 肯定不是答案。
好的,所以答案是可以做到,但默认网站上没有主机标头。由于它是默认网站,流量仍会流向那里,但其他网站上的标头允许在同一 IP 上托管它们。默认网站上的主机标头会破坏 Exchange Active Sync。