由于内容安全策略,无法在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