我注意到在使用工作电脑访问某些网站时出现了问题,主要是嵌入了地图的网站,例如 Open Street Maps 或 Bing(似乎不会影响 Google Maps)。我的同事也注意到了同样的问题。通常,这些地图根本不会加载底图(但它们会加载嵌入它们的网站的叠加数据),或者会显示粉红色图块。我注意到请求失败并显示以下消息:
‘http://a.tile.openstreetmap.org' 已被 CORS 策略阻止:所请求的资源上不存在 'Access-Control-Allow-Origin' 标头。Origin'http://mncors2.dot.state.mn.us' 因此不允许访问。
在 Chrome 中,使用扩展程序允许控制允许来源:*解决了该问题,如果网站启用了 HTTPS,也可以使用 HTTPS。
此问题出现在 Chrome、Firefox 和 Edge 的较新版本中。此问题不会出现在 Internet Explorer 中。
此外,这种情况只发生在使用工作网络时。当我通过工作 WIFI 在手机上尝试时,问题就出现了,关闭 WIFI 后,地图加载正常。
这是我们工作防火墙造成的吗?
如果是这样,我需要告诉我们的 IT 人员什么来解决这个问题?
可以在不影响安全的情况下修复它吗?
我们在这里使用了很多地图网站,其中一些是付费的,这对一些人来说是一个严重的生产力问题。
答案1
这是我们工作防火墙造成的吗?
是的,它不让所有 HTTP 标头通过。它可能有一个允许标头的白名单,并且其配置非常过时。CORS 是相对地新的。
如果是,我需要告诉我们的 IT 人员如何修复此问题?是否可以在不影响安全性的情况下修复此问题?
他们需要更新代理配置(或者更准确地说:允许的 HTTP 标头列表)。或者干脆完全删除这些荒谬的限制。无论如何,这不会影响安全性。