使用<iframe>嵌入Power BI Report Server报表时提示拒绝连接
解决Power BI Report Server报表iframe嵌入“拒绝连接”问题
1. 调整Report Server的X-Frame-Options配置
Power BI Report Server默认会通过X-Frame-Options头限制嵌入,这是导致“拒绝连接”的核心原因:
- 找到Report Server安装目录(默认路径为
C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer) - 打开
rsreportserver.config配置文件,找到<Add Key="X-Frame-Options" Value="SAMEORIGIN" />行 - 测试场景可直接将值改为
ALLOWALL;生产环境建议设置为ALLOW-FROM http://你的网页域名:端口(比如本地测试用ALLOW-FROM http://localhost:8080) - 修改后重启Power BI Report Server服务生效
2. 使用报表的专用嵌入URL
你当前使用的是门户查看URL,需替换为报表的嵌入专用地址:
- 打开Power BI Web门户,找到目标报表
voicebot - 点击报表右上角的三个点图标,选择「嵌入」
- 复制弹窗里的「嵌入URL」,格式通常为
http://garshasp:2970/PowerBI/api/v2.0/reports/{报表ID}/Embed - 将iframe的
src替换为这个嵌入URL
3. 验证权限与访问协议
- 确保访问网页的用户在Report Server中拥有该报表的「查看」权限;若需匿名访问,需在Report Server配置管理器中开启匿名身份验证,并给报表分配匿名用户权限
- 不要直接本地打开HTML文件(
file:///协议),浏览器会判定为跨域。建议将HTML部署到本地Web服务器(如IIS、XAMPP),用http://localhost开头的URL访问页面后再测试嵌入
修改后的示例iframe代码:
<iframe width="800" height="600" src="http://garshasp:2970/PowerBI/api/v2.0/reports/xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Embed" frameborder="0" allowfullscreen="true"> </iframe>
内容的提问来源于stack exchange,提问作者amirhosein
相关产品推荐
相关产品推荐

