计算机阻止 iframe 的显示
Computer blocks the display of an iframe
我和我的公司开发了一项由两个 Web 应用程序组成的服务:
- 通过类似于online.contoso.com的地址访问的协作平台(以下称为平台),在Windows Server 2016服务器上用ASP.NET和React和运行编写.该平台对用户进行身份验证和授权,并允许他们执行各种操作;
- 一个类似online.contoso.com:44312的地址访问的Web应用程序(以下简称App),用Django编写,jQuery和运行在同一台服务器上;
平台通过以下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
覆盖。
我和我的公司开发了一项由两个 Web 应用程序组成的服务:
- 通过类似于online.contoso.com的地址访问的协作平台(以下称为平台),在Windows Server 2016服务器上用ASP.NET和React和运行编写.该平台对用户进行身份验证和授权,并允许他们执行各种操作;
- 一个类似online.contoso.com:44312的地址访问的Web应用程序(以下简称App),用Django编写,jQuery和运行在同一台服务器上;
平台通过以下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
覆盖。