Heroku错误:页面是通过HTTPS加载的,但是请求了一个不安全的脚本' angular-route.js'

时间:2016-07-13 14:26:47

标签: javascript angularjs node.js heroku

我已将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&#39 ;.   此请求已被阻止;内容必须通过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>

1 个答案:

答案 0 :(得分:3)

请注意,托管angular-route的CDN中没有HTTPS - 意味着它没有以安全协议提供。

要么在Heroku上托管它的副本(自然地 - HTTPS),要么找一个新的CDN来使用。

修改:如上所述,您只需将http://替换为https://,因为Google的API可以通过https投放。