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