SSRS web门户对接Azure Application Gateway v2运行异常问题咨询
SSRS 对接 Azure Application Gateway v2 异常问题解决方案
核心根因
Azure Application Gateway v2 相对于 v1 版本调整了默认的请求头重写、会话分发、健康探测逻辑,和 SSRS 2016/2017 的认证上下文校验、长连接渲染逻辑存在兼容性冲突,具体修复步骤如下:
- 调整网关会话保持配置:开启后端池的基于 Cookie 的会话亲和力,SSRS 要求同用户的全量请求必须调度到同一台后端实例,v2 默认关闭会话保持会导致认证上下文不连续,触发随机认证弹窗。会话超时时间需配置为至少 3600 秒,和 SSRS 站点的会话超时规则对齐。
- 修正请求头透传规则:在网关的重写规则模块添加规则,强制透传原始请求的 Host 头,关闭
X-Forwarded-For头默认的端口追加逻辑。SSRS 会校验请求头的主机端口和自身绑定端口一致性,v2 默认的头重写行为会触发 SSRS 的请求来源校验拦截,导致部分静态资源加载失败、触发二次认证。 - 自定义后端健康探测:将网关的后端健康探测路径设置为
/ReportServer/healthcheck(若 SSRS 服务路径有自定义修改请同步调整),探测协议、端口和 SSRS 站点配置完全一致,禁用默认的 80/443 通用探测。v2 的默认探测会占用 SSRS 的连接池配额,导致正常用户请求无法获取可用连接,出现认证失败、渲染超时问题。 - 调整 SSRS 侧兼容配置:
- 打开 SSRS 安装目录下的
rsreportserver.config配置文件,找到<Authentication>节点,将<RSWindowsExtendedProtectionLevel>的值修改为Off,关闭扩展保护校验,避免 v2 的转发逻辑触发拦截规则。 - 若部署多实例 SSRS 集群,需确保所有实例的
machineKey配置完全一致,保证会话加密串统一,避免会话校验失败触发认证弹窗。 - 将 SSRS 站点的
executionTimeout配置调整为至少 1800 秒,适配大报表渲染的长连接场景,避免网关默认超时中断渲染导致内容加载不全。
- 打开 SSRS 安装目录下的
内容的提问来源于stack exchange,提问作者Brandon Brown
相关产品推荐
相关产品推荐

