在 Azure 配置中访问 ADFS 的 REST API 时,我看到了奇怪的行为。
假设我使用 OpenSSl 或DigiCert之类的工具来测试我的站点是否返回了正确的证书。例如:
openssl s_client -connect adfs.{mydomain}.com:443
多次运行此操作将交替返回正确的证书和错误的证书。
配置如下:
- ADFS、WWW 和 ADRMS 的 CNAMES 已在 DNS 中创建,将它们指向 Azure 公共主机 {mydomain}testsvc.cloudapp.net。
- 已在面向 Internet 的网络服务器上创建并安装了 SAN 证书
- 主题名称:www.{mydomain}.com
- 主题备用名称:adfs.{mydomain}.com、adrms.{mydomain}.com、www.{mydomain}.com
- 在网络服务器上运行“Netsh http show sslcert”会显示 adfs 和 adrms 的正确证书主机名:端口
- 安装了 WebApplicationProxy 以允许我访问 adfs.{mydomain}.com/adfs/oauth2/xxx。
如果我运行一个稍微不同的测试:
openssl s_client -connect adrms.{mydomain}.com:443
然后,我也交替获得不同的证书。我已经确定边缘服务器提供了正确的证书,而 adrms 服务器提供了“坏”的证书。事实上,该证书真的没问题,只是不应该将它提供给要求 adfs.{mydomain}.com 的人。
那么,为什么对 adfs 的连接请求会交替到达边缘服务器和 adrms 服务器?我现在该去哪里解决这个问题?我承认我对 WebApplicationProxy 以及如何通过边缘服务器引导所有流量(包括 adrms 流量)知之甚少。
我可以通过私信提供一个真实的 URI 来演示问题。
另外:我怀疑是负载均衡器,因为我的网络日志有很多来自“负载均衡器代理”的请求。但是,我找不到配置的。我用过:
Get-AzureInternalLoadBalancer
Get-AzureRMLoadBalancer
也不返回任何东西。