【发布时间】:2021-01-14 06:39:49
【问题描述】:
在我们的 IIS 网站上,我们需要一个 PDF 文件以允许其他网站在 iframe 中显示。 目前 web.config 中的 content-security-policy 是这样的:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="frame-ancestors 'self'" />
</customHeaders>
</httpProtocol>
</system.webServer>
因为这是一个 pdf 文件,所以我不能使用元标记。 由于我无法在任何地方找到答案,我试图妥协并在 pdf 文件的子目录中创建另一个 web.config:
<add name="Content-Security-Policy" value="frame-ancestors '*'" />
因此试图允许该目录中的所有文件在 iframe 中打开。但是,IIS 抱怨我对“内容安全策略”有多个定义,所以这不起作用。
有什么想法吗?
【问题讨论】:
-
您不需要在子目录中添加此客户标头。所有配置只需要在根目录的web.config中即可。并且在我的测试中,即使没有定义这个header,iframe使用跨域pdf文件,pdf也可以正常显示。
-
我不确定我是否完全理解您的评论。正如我所写,根目录中有一个 web.config 文件,我写了 content-security-policy 是如何定义的。当我尝试从另一个站点在 iframe 中包含 PDF(来自“我们的”站点)时,我在 Chrome 中得到了这个:拒绝框架'ericom.com',因为祖先违反了以下内容安全策略指令:“frame-ancestors '自我'”。
标签: iis web-config content-security-policy