我的应用程序中有两台服务器。一个是Web服务器,另一个是app服务器。我的IIS Web应用程序中的应用程序服务器中有一个静态文件。使用Windows身份验证启用App Server Web应用程序。我已经使用ARR为具有特定URL的调用创建了URL重写,以便重定向到静态文件。
当我在我的URL中使用IP地址并从客户端计算机调用Web服务器时,一切正常。当我使用机器名称时,我收到401错误。
1)我检查了IIS日志 - >当呼叫失败时,客户端重复尝试连接Web服务器,所有呼叫都因401错误而失败。从Web服务器到应用服务器,只调用一个,它返回401错误。 2)当呼叫成功场景时,Web服务器中的两个401故障和app服务器中的一个401故障。之后,一次成功调用Web服务器和应用服务器。
我还检查了失败请求跟踪,但未获得其他信息。
以下是我在ARR的Web服务器中的配置。
<validation validateIntegratedModeConfiguration="false" />
<rewrite>
<rules>
<rule name="Reverse Proxy to Test Model" stopProcessing="true">
<match url="^Sample/(.*)" />
<action type="Rewrite" url="http://appserver/{R:0}" />
</rule>
</rules>
</rewrite>
如果需要更多信息,请与我们联系。
此致 马德汉
答案 0 :(得分:2)
上述问题是由Kerberos问题引起的。我们在应用程序服务器中针对Web服务器为所访问的URL(基本上是运行虚拟应用程序的应用程序池帐户)的运行时帐户注册了SPN。在此之后,应用程序服务器接受了调用,并返回了所需的响应。