【发布时间】:2015-12-29 06:07:48
【问题描述】:
升级到 Safari 9 后,我在浏览器中收到此错误:
[Warning] [blocked] The page at https://localhost:8443/login was not allowed to run insecure content from http://localhost:8080/assets/static/script.js.
有人知道如何在新的 Safari 上启用不安全内容的运行吗?
【问题讨论】:
-
顺便说一句,为了解决这个问题,我们目前通过 https 提供所有资产。但是Safari不应该允许启用混合内容的方法吗?没有?
-
这非常令人沮丧。有正当理由需要有一个加载某些内容的 https 页面(例如 RPC 或本地服务)。 Apple 不应该在没有办法恢复的情况下禁用行为。
-
实际上,这对苹果来说是一个合理的安全预防措施。通过允许混合内容,有人可以注入恶意代码或窥探会话(如果它是动态的)。如果您担心使用 SSL/TLS 对性能的影响,只需将 HTTP/2 支持添加到您的服务器即可。基准测试显示了巨大的性能改进,使其在从同一域中获取大量资产或 ajax 时与 HTTP/1.1 一样快。
-
同意@JaredKipe - 它是第三方产品尤其令人沮丧(我们有一台打印机,它通过 HTTP 为 API 提供服务。它正确实现了 CORS)。这只是向服务器“添加 TLS”的情况。 Safari 9 现在已经破坏了现有的部署服务。
标签: safari mixed-content safari9