因为违反以下内容安全策略指令,拒绝创建''框架。

8
我们使用Confluence Companion工具来本地编辑来自Confluence的文件(https://confluence.atlassian.com/doc/edit-files-170494553.html)。但由于该工具的最新更新,它不再起作用。我发现这是因为我们在NGINX中设置了CSP指令,但无论我做出何种更改,都没有效果。
原始CSP指令:
add_header Content-Security-Policy "default-src https: wss: blob: goedit: 'unsafe-inline' 'unsafe-eval'; connect-src https://*.atlassian.com 'self' ws:; img-src blob: https: data: 'unsafe-inline' *; font-src https: data:" always;

结果:

拒绝加载 '' 框架,因为它违反了以下内容安全策略指令:“default-src https: wss: blob: goedit:”。请注意,由于未明确设置“frame-src”,因此将使用“default-src”作为后备。

所以我想,让我们添加frame-src;

add_header Content-Security-Policy "default-src https: wss: blob: goedit: 'unsafe-inline' 'unsafe-eval'; connect-src https://*.atlassian.com 'self' ws:; frame-src 'self'; img-src blob: https: data: 'unsafe-inline' *; font-src https: data:" always;

但现在它报告:

Refused to frame '' because it violates the following Content Security Policy directive: "frame-src 'self'".

有点迷失在这里,首先为什么加载......什么也没有?只有'', 我期望那里会有一个网站或其他东西,但是无论我对frame-src做了哪些更改,它都不停地抱怨。
我尝试的方法:
frame-src 'self';
frame-src '*';
frame-src '';
frame-src 'self' data:;
frame-src '*.mydomain.com';
frame-src 'none';

已经尝试通过X-FRAME-OPTIONS允许所有框架,并以各种方式组合frame-ancestors和以上所有内容,但结果仍然相同。

非常感谢帮助。

谢谢!


我在个人网站上遇到了这个问题。我不得不添加 frame-src 'self' data:,这解决了我的所有问题。 - Charles L.
1个回答

6
Confluence 7.3+ 推出了 Companion,使用一个带有前缀为 atlassian-companion: 的自定义协议。这是通过使用隐藏的 iframe 来防止页面重定向而构建的。
因此,要解决此问题,请在您的内容安全策略中添加 atlassian-companion: 到您的 default-srcframe-src 排除列表中。 例如: frame-src atlassian-companion:;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接