奇怪的混合内容问题

时间:2017-04-29 13:49:53

标签: security xmlhttprequest mixed-content

我一直在Chrome开发者工具中遇到此错误,我似乎无法找到不安全的http://请求。它指向我的域但没有https://。 http://www.example.com/不是剧本,所以我不明白它的来源。

混合内容:' https://www.example.com/categoy/a-product.html' 是通过HTTPS加载的,但请求了一个不安全的脚本' http://www.example.com/'。此请求已被阻止; 内容必须通过HTTPS提供。

混合内容:' https://www.example.com/categoy/a-product.html' 是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点' http://www.example.com/'。 此请求已被阻止;内容必须通过HTTPS提供。

由于

2 个答案:

答案 0 :(得分:1)

我有类似的问题。您正在托管具有HTML5 /历史/推送状态路由的单页应用程序的页面吗?

这种类型的路由有许多名称,但它的作用是用常规路由替换基于哈希的URL https://address.com/page/client/side/route,例如index.html。当文件使用静态文件服务器托管时,文件服务器可能不知道客户端路由并返回404而不是将所有内容路由到serve。显然,这可能会导致您在Chrome中描述的问题,即使该页面似乎有效。

简而言之,许多静态文件托管工具不适合为具有HTML5路由的SPA提供服务,特别是http-server(https://github.com/indexzero/http-server/issues/80)。尝试使用其他工具(例如try_files $uri $uri/ index.html)或将nginx与3一起使用。

答案 1 :(得分:0)

这意味着您的网页是通过https访问的,但它使用通过http提供的资源。像Chrome这样的现代浏览器将此视为安全风险。浏览器不加载http资源,并在开发人员控制台中显示警告。

解决方案是将协议方法从http更改为https,以便通过http访问所有资源。

请参阅此链接:https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#alternatives_to_csp