Heroku 错误:页面是通过 HTTPS 加载的,但请求了一个不安全的脚本“angular-route.js”
Posted
技术标签:
【中文标题】Heroku 错误:页面是通过 HTTPS 加载的,但请求了一个不安全的脚本“angular-route.js”【英文标题】:Heroku error: page was loaded over HTTPS, but requested an insecure script 'angular-route.js' 【发布时间】:2016-11-16 04:57:00 【问题描述】:我已将我的 nodejs
应用程序部署到 heroku
。
我在下面有这个文件作为我的index.html
,但不知何故heroku
将这个错误消息扔给了 chrome 开发者控制台 (F12)。
错误:
混合内容:“https://small-talkz.herokuapp.com/”处的页面是 通过 HTTPS 加载,但请求了不安全的脚本 'http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js'。 此请求已被阻止;内容必须通过 HTTPS 提供。
index.html:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
$http.get('https://code.angularjs.org/1.4.9/angular.js').success(successCallback);
</script>
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.9/angular.js" data-semver="1.4.9">
</script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" type="text/css" href="../css/style.css">
</head>
<div ng-app="mymodule" ng-view>
</div>
</html>
【问题讨论】:
如果通过http
或使用https
更改每个http
请求来解决此负载的两件事,如果您通过https
呈现您的应用程序,heroku 将调用您的所有http
请求(就像 h2oo 所说的,只需使用 //ajax.googleapis.com
)
【参考方案1】:
请注意,托管 angular-route
的 CDN 中没有 HTTPS - 意味着它不是在安全协议中提供的。
要么在 Heroku 上托管它的副本(自然是 HTTPS),要么找到一个新的 CDN 来使用。
编辑:如上所述,您可以将 http://
替换为 https://
,因为 Google 的 API 可以通过 https 提供服务。
【讨论】:
Google API 可以完全使用 HTTPS。以上是关于Heroku 错误:页面是通过 HTTPS 加载的,但请求了一个不安全的脚本“angular-route.js”的主要内容,如果未能解决你的问题,请参考以下文章
Django React -- Heroku 上的部署错误(找不到页面 404)
通过 https 加载 Drupal 7 页面时,Firebug 中止错误
React 应用程序错误:无法构造“WebSocket”:可能无法从通过 HTTPS 加载的页面启动不安全的 WebSocket 连接