由于内容安全策略,无法在Iframe中加载BIRT报告的图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于内容安全策略,无法在Iframe中加载BIRT报告的图像相关的知识,希望对你有一定的参考价值。

尝试在iframe中加载BIRT报告时收到以下错误消息。我在开发人员控制台中收到以下错误。

错误信息:

“混合内容:'https://someserver.com/payrollRecon/StatisticsReport_> efreshReport.action'页面是通过HTTPS加载的,但请求了一个不安全的插件资源'http://someserver.com/birt/preview?__sessionId=20190410_063733_547&__imageid=custom272bcb9e16a06cfee3f1.svg'。此请求已被阻止;内容必须通过HTTPS提供。”

我有content-security-policy标头设置如下:

upgrade-insecure-requests; default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://someserver.com/birt/ https://someserver.com/birtuat/; object-src *; style-src 'self' 'unsafe-inline' https://someserver.com/birt/ https://someserver.com/birtuat/; img-src *; frame-src 'self' https://someserver.com/birt/ https://someserver.com/birtuat/ https:; font-src 'self' data:; connect-src 'self'

升级 - 不安全请求CSP指令应该将URL升级到https但由于某种原因,它不会升级。

upgrade-insecure-request添加到csp指令以将请求升级到https。但不行。

答案

我设法通过修改BIRT报告jsp文件中的代码将url升级到https。我修改了RequesterFragment.jsp,RunFragment.jsp和FramesetFragment.jsp文件以将请求升级到https。

在上述文件中将https架构添加到baseHref。

以上是关于由于内容安全策略,无法在Iframe中加载BIRT报告的图像的主要内容,如果未能解决你的问题,请参考以下文章

Google Docs Viewer 偶尔无法在 iframe 中加载内容

无法访问 iframe 中加载的自己域上的 httponly 标记 cookie

在 iframe 中跨域加载 Angular UI

不要同时在 Owl Carousel 中加载所有 iFrame

使用 ajax 在 iframe 中加载内容

如何在bigcommerce结帐页面上的iframe中加载内容