我们有几个后端网络应用程序,我们希望通过公共互联网提供访问。为此,我们正在从我们的DMZ设置反向代理(IIS 7.5)。同时,我们希望通过ADFS 2.0为这些Web应用程序启用声明。
WEB1.MYCORP.COM/WFE1 is the other back-end web application, on our internal network
WEB1.MYCORP.COM/WFE2 is the other back-end web application, on our internal network
ADFS.MYCORP.COM is the ADFS 2.0 server, on our internal network
FSPROXY.MYCORP.COM is the ADFS 2.0 proxy server, on our DMZ
RPROXY1.MYCORP.COM is the reverse proxy for WFE1, on our DMZ
RPROXY2.MYCORP.COM is the reverse proxy for WFE2, on our DMZ
为了与ADFS的正确配置保持一致,我们的内部DNS将ADFS.MYCORP.COM解析为实际的内部服务器,而外部DNS将ADFS.MYCORP.COM指向ADFS代理(FSPROXY)。
所以,这是场景:
End user browses to RPROXY.MYCORP.COM
Reverse proxy forwards request to WEB1.MYCORP.COM/WFE1
WFE1 redirects browser to ADFS.MYCORP.COM (actually FSPROXY)
ADFS Proxy prompts for credentials and authenticates against ADFS server
Upon successful authentication, browser redirected back to web app
我有几个问题。我是否需要在rp或应用程序中配置某些内容以允许此操作。另外adfs端点是rp url是一个问题吗?
我是否还需要为反向代理设置一些内容? (我/我可以)在IIS中设置启用声明的反向代理吗?如何设置反向代理规则以不加改变地传回ADFS请求?目前,当我尝试访问后端应用程序时,它失败并出现401身份验证错误。如果我删除代理并只是点击应用服务器它工作正常。
此外, 这失败了: 路径是客户端 - > rp - > app - > adfs - > rp - > app - > rp - >客户端计算机
这有效: 路径是客户端 - > rp - > app - > adfs - > app - > rp - >客户端计算机
任何建议都将不胜感激!
答案 0 :(得分:0)
不熟悉如何在IIS中启用反向代理(ARR?)。像这样http://blogs.iis.net/carlosag/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr
您可以选择使用ADFS 2012R2(如果可能),因为其中的代理Web应用程序代理处理ADFS身份验证,并且可以处理启用声明的应用程序的应用程序发布。您可以通过两种方式将应用发布到互联网上。一旦传递,这是你想要做的事情。但它还允许对声明感知应用程序进行预身份验证支持。这样,您可以使用不同的策略来确定应用程序是否可以在数据包进入内部应用程序之前通过您的EDGE网络。
答案 1 :(得分:0)
经过大量的挖掘和提琴手痕迹后,我发现了这个问题。在测试idp设置时,令牌与stage env不同。小提琴跟踪显示令牌正在回到应用服务器。问题是它似乎也没有任何理由掉下来。问题是因为旧的dev ipd值不同意舞台价值......自然而然。一旦我清除了数据库中的旧令牌,一切正常。