计算机阻止 iframe 的显示

Computer blocks the display of an iframe

我和我的公司开发了一项由两个 Web 应用程序组成的服务:

平台通过以下iframe暴露App:

<iframe src="https://online.contoso.com:44312?lng=en" id="PlanningFrameId" width="100%" height="645px" style="display: block; border: 0px;"></iframe>

应用程序使用以下内容安全策略:

Content-Security-Policy: frame-ancestors 'self' *.contoso.com online.contoso.com

我们的一些客户声明他们无法加载应用程序。例如,今天我们的两个客户声明一个可以看到应用程序而另一个不能。这两个用户使用相同的互联网连接,但使用两台不同的计算机(均为 Macs)。没有看到 App 的客户已经用 Safari 和 Google Chrome 进行了检查。为什么计算机可以阻止某些 iframe(Mac 和 Windows)?

我们已经在平台和应用程序上进行了测试,应用程序运行正常。

谢谢

奇怪的不是应用程序在某些 PC 上无法运行,而是在某些 PC 上运行。

*.contoso.com host-source 在 https: 页面上允许 https://*.contoso.com:443,在 http: 页面上允许 http://*.contoso.com:80(默认情况下只允许 standard ports)。

因此您必须将 https://online.contoso.com:44312 源添加到策略中:
Content-Security-Policy: frame-ancestors 'self' *.contoso.com https://*.contoso.com:44312

注意:online.contoso.com 过多,因为它被 *.contoso.com 覆盖。