2011-12-02 226 views
2

在过去的几天里,我一直在不知疲倦地使用ADFS 2.0为WIF设置开发测试环境。我遇到的问题之一是我的家庭环境只有一个IP地址,并且我不打算在主服务器上粘贴ADFS。因此,我为FS(idp.yyy.local)创建了一个专用虚拟机。ADFS 2.0 - 代理/服务器503服务不可用

为了不直接连接到我的网站,'yyy'是指'dgdev'。 (下图)

奇怪的是,它的部分工作。这是一张详述我的基础设施的图片。

enter image description here

有什么奇怪的是,我可以在正常的HTTP浏览“idp.yyy.net”和HTTPS就好了。我也可以完美地查看WS联合元数据。现在,我对ADFS很陌生,但我期望在到http://idp.yyy.net/adfs/services/trust时,它会将我重定向到Windows SSL登录。相反,所有我收到的是:

服务不可用


HTTP错误503服务不可用。

我在FS代理和FS上使用相同的SSL证书。它的主题是我的主域名yyy.net。它有几个主题备选名称,以便我可以使用单个IP:端口使用SSL托管多个IIS网站。

CN = yyy.net 
DNS Name=www.yyy.net 
DNS Name=idp.yyy.net 
DNS Name=idp.yyy.local 
... 
IP Address=192.168.1.2 
IP Address=192.168.1.3 
IP Address=192.168.1.4 
... 

有没有人有任何想法,为什么我看到503服务不可用的错误。事件查看器中没有任何内容显示为错误。 (除了与AppFabric恼人的事情,但这是我还没有碰的另一个问题

在此先感谢!其实很多很多,谢谢。我已经用尽了所有可以想出的途径和想法,为什么这可能会“破裂”?


如果任何人有一个想法,我怎么能调试这个问题,我想肯定只是作为一种解决方案。我试过IIS失败的请求记录,但没有任何东西正在生成。主办ADFS服务的地点/内容? 我已经看过的东西:

  • 所有AppPools都在运行。
  • 旧的ADFS 1.0 Web服务(asmx)可以很好地访问。
  • 我可以直接访问端点发行人......或者至少是“windowstransport”
+0

我应该注意的是,一些发行人端点工作,如果我直接去它像:https://idp.yyy.net/adfs/services/trust/2005/windowstransport。 此外,代理服务器正在返回一个403 Forbidden,但在我的本地局域网上,实际的Federation Server确实返回503服务不可用。不知道为什么这种不匹配存在。 – Daniel

回答

3

那么原来一切都已经一直在努力!

我花了几个小时确保证书正确创建。然后,在仍然看到503错误之后,我意识到我的默认网站的代理服务器AppPool正在“ApplicationPoolIdentity”下运行 - 这真的是用户: IIS AppPool \ DefaultAppPool。

我从未授予该用户读取ADFS证书私钥的权限。因此,我看到了403禁止而不是503。将AppPool切换到网络服务... voila !, 503服务不可用。

所以现在我确信我的代理服务器和ADFS服务器在谈论就好了。现在为什么我仍然看到503服务不可用?!?

我告诉自己,反正来创建一个测试应用程序。在Visual Studio中,我设置了一个新的MVC 3 Web App。添加了我现有的STS参考。设置一个虚拟声明并更新应用程序的FederationMetadata。将新的依赖方添加到ADFS。

将我的浏览器打开到Web应用程序并立即成功!

> GET) https://mywebapp/ 
> Response-Redirect) Location header kicks me to my IdP (ADFS) 
    https://idp.yyy.net/adfs/ls/?wa=wsignin1.0&wtrealm......... 
> I sign-in with proper credentials 
> POST) https://mywebapp/login << AWESOME! 
相关问题