我在Azure中托管了两个Windows Server 2012 . 一,安装,配置和正常运行SSRS服务器 . 另一个框有IIS已经托管一个应用程序,它正在运行它应该 .
我们的目的是利用我们现有应用程序的SSRS门户网站 . 因此,我们想到从IIS到报告服务门户网站的反向代理(我们正在内部实现这一点) .
预期的行为:当有人输入这样的URL时:
ourdomain.com/folder_in_the_app/Reporting
我们想将此请求重定向到:
databaseboxeWhereSSRSResides:8321 / Reports /
我们做了什么:我们实现了Url重写并添加了这条规则:
<rule name="Reverse Proxy to Report Server" stopProcessing="True">
<match url="(.*)/Reportings" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="False" />
<action type="Rewrite"
url="http://databaseserver:port#1234/Reports/browse/{R:1}" />
</rule>
我们得到的错误:
描述:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用 . 请查看以下网址,确保拼写正确 .
请求的网址:
/ FolderinOurApp / Reportings
我玩了很多但到目前为止没有运气 .
任何帮助将非常感激
问候
1 回答
有很多细节缺失 . 为了解决此问题,我建议您使用Failed request tracing .
您使用过像 Reverse Proxy 这样的词语,但没有提到任何关于使用ARR的内容 .
考虑到您的场景,反向代理看起来是一个合适的解决方案 . 您必须在前端服务器上安装ARR模块,并使用该模块将请求代理到报告服务器 .
使用Web平台安装程序安装ARR
要开始,请看:Creating a Reverse Proxy with URL Rewrite for IIS
如果您只想重定向而不是代理请求,那么您需要执行的检查很少:
是否可以从前端服务器访问数据库URL
您是否在报告服务器上启用了FREB日志以查看故障的来源?