在Azure配置中访问ADFS的REST API时,我看到奇怪的行为。

假设我使用OpenSSl或DigiCert之类的工具来测试我的网站是否返回了正确的证书。例如:

openssl s_client -connect adfs.{mydomain}.com:443


多次运行将交替返回正确的证书和错误的证书。

配置如下:


已在DNS中创建了用于ADFS,WWW和ADRMS的CNAMES,将它们指向{mydomain} testsvc.cloudapp.net,它是Azure公共主机。
已创建SAN证书并将其安装在面向Internet的Web服务器上
主题名称: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,以通过私人消息演示该问题。

另外:我怀疑负载均衡器,因为我的Web日志中有很多来自“负载均衡器代理”的请求。但是,我找不到一个已配置的。我用过:

Get-AzureInternalLoadBalancer
Get-AzureRMLoadBalancer


都不返回任何东西。

最佳答案

在发布我的问题之后,我就获得了突破,从而解决了问题。

我使用的是“经典”管理控制台。我切换到portal.azure.com来管理我的部署。当我导航到边缘服务器和adrms服务器时,我发现它们都是负载均衡集的一部分。我不确定为什么PowerShell脚本没有显示此信息。

为了解决该问题,我必须将它们从LB集中删除,然后重新创建边缘服务器的终结点。

这些步骤是:


转到管理门户。 (portal.azure.com)
选择虚拟机
点击我的adrms VM
单击负载平衡集
单击负载均衡器
点击“离开”
对边缘虚拟机执行相同的步骤
对于边缘虚拟机,为端口443添加新端点


之所以可行,是因为Edge服务器还处理将流量重定向到adrms服务器的问题。

我希望这可以使人免于头痛。

关于azure - Azure负载平衡器问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38250292/

10-11 15:12