首页 > 解决方案 > SSRS ReportServer 返回 404,但仅在加载 Angular 站点之后

问题描述

我正在开发一个托管在 IIS 8.5 中的网站。该网站有指向 SSRS ReportViewer 的链接。

我们已经开始使用 ASP.NET Core 后端和 Angular 前端重写网站。我们还没有开始重写 ReportServer 的链接,我们的计划是有一个过渡阶段,新旧网站一起可用,功能会慢慢迁移。我们最近刚刚首次部署了新网站,遇到了一个奇怪的问题。

用户登录原始网站。他们单击链接并被发送到使用 ReportViewer 查看报告(此链接有效)。然后,用户在单独的浏览器选项卡中导航到新站点。当用户单击返回原始选项卡并尝试单击同一个报告时,到 ReportViewer 的链接被破坏并显示 404 错误。

需要明确的是,该网站有一个类似的网址

https://域名/网站

报告网址的示例是

https://domainname/ReportServer/Pages/ReportViewer.aspx?/customer/args

角度站点托管在

https://域名/angularwebsite

我意识到 ReportViewer 不再托管在 IIS 中。似乎一旦访问了 Angular 站点,它就会覆盖 ReportViewer 站点。关闭显示 Angular 站点的浏览器选项卡并不能解决问题。但是,清除浏览器缓存并重新加载 ReportViewer 选项卡允许用户再次查看报告。

ReportViewer 和/或 Angular 网站是否缺少一些配置?

标签: angularreporting-services

解决方案


事实证明,IIS 中有一条重写规则,强制所有内容都转到 https。但是,ReportViewer 未配置为在 https 下工作,仅在 http 下工作。答案是将 ReportViewer 也配置为使用 https。

我们没有深入了解为什么它只是在重定向到 Angular 后才失败。


推荐阅读