随机混合内容问题

时间:2017-09-14 07:59:12

标签: javascript jquery angularjs https mixed-content

我的网站上有一个奇怪的混合内容请求阻止问题,并相信我已经谷歌搜索已解决这个问题超过几个月了。

我使用AngularJS1作为前端,使用Spring引导作为后端。

当我访问我的网站时,有时会随机出现以下错误:

混合内容:http://mywebsite上的页面是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点' http://mywebsite.com/'。此请求已被阻止;内容必须通过HTTPS提供。

chrome developer network console

blocked request header

但是当我刷新或重新加载页面时,这个问题就消失了。之后,一切都按预期完美运行,因为我没有使用任何HTTP ajax调用,只有内部HTTPS ajax调用。

我甚至检查过我的网站是否有使用" http"使用第三方工具,我的网站很干净。

这个问题不会一直发生。它会随机发生,但如果我刷新页面,它将永远消失。

请帮我解决这个问题。

==============截至2018年3月27日更新状态=================

虽然我做了一个解决方法,但我仍然遇到同样的问题。 我添加了errorCallBack,它捕获了除HTTP 500错误之外的所有错误,该错误仅用于重新加载页面一次的Ajax调用,以便重新加载页面以解决问题。

但这不应该是一个解决方案。请帮助我。

1 个答案:

答案 0 :(得分:0)

你可以试试这个: -

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content" />

将其粘贴到<head>...</head>标记中。

HTTP Content-Security-Policy(CSP)block-all-mixed-content指令阻止在使用HTTPS加载页面时使用HTTP加载任何资产。

阻止所有混合内容资源请求,包括主动和被动混合内容。这也适用于<iframe>文档,确保整个页面都是混合内容免费的。

upgrade-insecure-requests之前评估block-all-mixed-content指令,如果设置了前者,后者实际上是无操作。建议设置一个指令或另一个 - 而不是两者。