Asp.net Reporting Services Web服务仅在Windows更新后与localhost一起工作

Asp.net Reporting Services Web服务仅在Windows更新后与localhost一起工作,asp.net,reporting-services,sql-server-2012,ssrs-2012,Asp.net,Reporting Services,Sql Server 2012,Ssrs 2012,在ASP.NET web应用程序上,我有一组通过2010报表查看器访问的报表。在管理员安装windows Update之前,该应用程序在生产环境中运行良好。从那时起,我现在收到以下错误消息: The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version. The request fail

在ASP.NET web应用程序上,我有一组通过2010报表查看器访问的报表。在管理员安装windows Update之前,该应用程序在生产环境中运行良好。从那时起,我现在收到以下错误消息:

The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version.
The request failed with HTTP status 404: Not Found. 
SSRS位于同一台服务器上,我使用FQDN,因此可以使用主机头而不是端口号,即:

http://rs.myserver.my.domain.net/ReportServer
这一直在运行,直到更新,现在自更新后显示上述错误,恢复功能的唯一方法是将ReportServerUrl设置为本地主机、基于端口的绑定,即:

http://localhost:8080/ReportServer
还请注意,尽管我从报表查看器中收到了上述错误消息,但我仍然可以通过FQDN访问报表管理器和Reporting Services Web服务

我发现最有趣的是,在我的开发服务器上,我能够复制这个问题(尽管在同一天进行了更新,但问题并不存在,尽管我还没有确定是否在这两个服务器上运行了相同的更新)。我只是简单地安装了Report Viewer 2012运行时,就解决了这个问题。有趣的是,这个运行时没有安装在开发环境中,但它是去年安装在生产环境中的。更新或卸载运行时会使系统处于相同的断开状态

希望有人能提供一些见解,以便我可以恢复我想要的设置


谢谢

这听起来像是服务器上的环回检测。环回检测旨在防止反射攻击,并在来自服务器的链接使用看起来像外部链接的东西环回同一服务器时显示。这就是为什么localhost可以工作,而FQDN不能工作的原因-服务器知道localhost本身就是本地主机,但FQDN看起来像一个外部链接。Windows Server上的某些service Pack不会安装此检查


检查修复此问题的方法。方法1涉及将主机名放入名为
BackConnectionHostNames
的多字符串值注册表项中,该注册表位于
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1\U 0
。方法2通过将名为
DisableLoopbackCheck
DWORD
注册表项(值
1
)放在注册表的
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
)完全禁用环回检测(不太推荐),但是,我已经将主机名添加到注册表中。这是由于过去对其他连接问题进行了故障排除,并且它已经以这种方式工作了数月。在Windows server自动更新之后,SharePoint服务器也发生了同样的情况。索引服务器返回到自身进行内容源爬网(以减轻主web服务器的负担),并在几年内运行良好,然后发生了Windows更新,我们的所有文档都被逐出索引,因为无法再找到它们。我们禁用了环回检测(主机名修复程序不起作用),我们的索引又开始工作了。好吧,这是一个失败!在尝试DisableLoopbackCheck之前,我甚至尝试设置DisableStrictNameChecking。我确实在DisableLoopbackCheck之后重新启动了服务器,但没有任何乐趣。谢谢你的洞察力。如果有帮助的话,文章说结果是401.1,在我的例子中是404,几乎就像是有什么东西阻止IIS解析主机头,但只针对报表查看器(根据我的说明,我甚至可以在远程客户端上访问Report Manager/SSRS WS by host标头。是的,我也希望使用401而不是404,但其余部分看起来很像环回检测,我不得不提出建议。您的SQL Server Reporting Services是什么版本的SQL?