Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
URL重写虚拟目录以检索SSRS报告_Url_Iis_Reporting Services_Proxy_Rewrite - Fatal编程技术网

URL重写虚拟目录以检索SSRS报告

URL重写虚拟目录以检索SSRS报告,url,iis,reporting-services,proxy,rewrite,Url,Iis,Reporting Services,Proxy,Rewrite,是否有人通过在IIS 7.5 ASP.NET应用程序的虚拟目录中建立URL重写来使用反向代理从另一台服务器检索SSRS报告 通过浏览报告的URL,可以使用web浏览器从web服务器查看SSRS报告,因此无可访问性问题。SSRS报告确实会提示输入凭据,因此这可能是个问题,但我想知道为什么凭据请求不会是发送回浏览器的HTTP请求的一部分 “ssrs”虚拟目录中的URL重写配置如下所示: <?xml version="1.0" encoding="UTF-8"?> <configu

是否有人通过在IIS 7.5 ASP.NET应用程序的虚拟目录中建立URL重写来使用反向代理从另一台服务器检索SSRS报告

通过浏览报告的URL,可以使用web浏览器从web服务器查看SSRS报告,因此无可访问性问题。SSRS报告确实会提示输入凭据,因此这可能是个问题,但我想知道为什么凭据请求不会是发送回浏览器的HTTP请求的一部分

“ssrs”虚拟目录中的URL重写配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
  <system.webServer>
    <rewrite>
        <outboundRules>
            <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
                <match filterByTags="A, Form, Img" pattern="^http(s)?://http://123.45.678.194/(.*)" />
                <action type="Rewrite" value="http{R:1}://website.address.com/{R:2}" />
            </rule>
            <preConditions>
                <preCondition name="ResponseIsHtml1">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                </preCondition>
            </preConditions>
        </outboundRules>
        <rules>
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{CACHE_URL}" pattern="^(https?)://" />
                </conditions>
                <action type="Rewrite" url="{C:1}://http://123.45.678.194/{R:1}" />
            </rule>
        </rules>
    </rewrite>
  </system.webServer>
 </configuration>

is 502-Web服务器在充当网关或代理服务器时收到无效响应

您正在查找的页面有问题,无法显示。当Web服务器(充当网关或代理时)联系上游内容服务器时,它收到来自内容服务器的无效响应


我很感激能提供的任何帮助。

我想你认为这是我的猜测

SSRS分为三个部分,其中安全性涉及将报告以代码形式发送给“查看器”对象或提供凭据的RESTURI

  • 承载SSR的服务器。您可以使用调用它的计算机指定的凭据访问它吗
  • 报表运行需要凭据或已指定凭据的“数据源”。如果您希望远程执行报告,据我所知,如果未提供,查看器对象将提示您执行这些报告。解决此问题的最简单方法是设置数据源的连接字符串,以便在设置报表时使用提供的凭据。不是你说的时候。我记不清了,但我相信在远程模式下,代码将生成报告,但您仍然需要对报告进行身份验证才能从中获取数据
  • 报表在其运行到的域上具有不同级别的安全访问权限,这些级别在上面继承或是显式的。如果你可以访问URL,那么你所在的任何机器都有访问权限,你可以将其硬编码为代码以获取报告
  • 只在ASP.NET中的“ReportViewer”对象中调用报表服务器而不是在您的站点中的地址a中调用报表服务器会更容易吗?而不是尝试重定向?我猜正在重定向的服务器上的凭据帐户未被授权在SSRS服务器上运行报告,并且/或者不是该SSRS站点的管理员。我只需要在代码隐藏中为报表查看器对象设置一个远程模式。这样,您就不会重定向站点,而只是将对象引用带到另一个站点并将其植入第一个站点。这是较少的部分,以打乱IMHO以及您的依赖关系是不是捆绑。我在WPF中这样做,但我听说它与ASP.NET非常相似。有关详细信息,请参阅此线程:

    djandojazz,对不起,我没有更快地回复。我有其他的事情要处理。你的问题的答案是:1。在名为“ssrs”的虚拟目录中承载URL重写的web服务器可以访问包含ssrs实例和SQL server数据库实例的服务器。如果我从web服务器浏览到SSRS报告的URL,系统会要求我提供凭据,并且在提供凭据后,我可以登录到SSRS报告页面并查看报告。我会将Reportviewer作为ASP.NET应用程序中自包含的对象调用。不要重定向IMHO。如果我从web服务器浏览到SSRS报告的URL,我会被要求提供凭据,并且在提供凭据时,我能够登录到SSRS报告页面并查看报告。报表数据源使用为报表创建的特定Windows用户。该用户是本地管理用户。我可以访问web服务器上的URL,因为防火墙规则允许访问DB over 80和443,但不能在防火墙之外。另一方面,web服务器在防火墙之外可用。我们希望通过URL重写来访问SSRS报告网站。感谢您的评论。我曾表示要这样做,但我们决定尝试重写,因为我们希望创建一个仪表板网页,并且只有一个地方可以进行更改。再次感谢