由于内容安全政策,无法在iframe中加载BIRT报告的图片

时间:2019-04-10 11:19:45

标签: java iframe struts2 content-security-policy

尝试在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'

upgrade-insecure-request CSP指令应该将URL升级为https,但是由于某种原因,它没有升级。

upgrade-insecure-request已添加到csp指令中,以将请求升级到https。但不起作用。

1 个答案:

答案 0 :(得分:0)

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

在上述文件的baseHref中添加了https模式。