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”的主要内容,如果未能解决你的问题,请参考以下文章

NextJS + Heroku:env变量未加载

Django React -- Heroku 上的部署错误(找不到页面 404)

通过 https 加载 Drupal 7 页面时,Firebug 中止错误

Heroku 和 Angular 路由

客户端IP不同,heroku中的每个页面重新加载

React 应用程序错误:无法构造“WebSocket”:可能无法从通过 HTTPS 加载的页面启动不安全的 WebSocket 连接