1

堆栈: 带有 .NET 的 Angular 12,在 Docker 容器中运行。@angular-devkit/build-angular:browser 正在构建捆绑包。

最后的工作设置: 该应用程序之前在 Angular 7 上运行,所有资产确实都是通过 HTTPS 提供的。

问题: 通过 HTTPS 运行时,Angular 12 捆绑包正在服务资产,包括。main.js、polyfills、样式表或基于 HTTP 的 favicon。这会导致 bundles、polyfills、styles.css 和 favicons 出现以下错误:

混合内容:页面通过 HTTPS 加载,但请求了不安全的 X。此请求已被阻止;内容必须通过 HTTPS 提供。

我的第一个嫌疑人是 ng 构建过程,虽然我不知道确定方式的方法,但资产已被提供(?)因此我提到了堆栈的其余部分,以便在需要时检查那里。

更新:我标记了一个答案,但这是我决定采用足够好的解决方法,尽管我仍然希望找到更深入的解决方案。

4

2 回答 2

1

如果您直接升级Angular 7Angular 12,那么您将收到以下错误:

"Updating multiple major versions at once is not recommended."

假设您已经Angular 7在项目上安装了,现在您需要先将应用程序升级到Angular 8,然后升级Angular 8到,Angular 9然后升级Angular 9到,Angular 10然后升级Angular 10Angular 11

ng update @angular/core@6 @angular/cli@6 --force
ng update @angular/core@7 @angular/cli@7 --force
ng update @angular/core@8 @angular/cli@8 --force
ng update @angular/core@9 @angular/cli@9 --force
ng update @angular/core@10 @angular/cli@10 --force
ng update @angular/core@11 @angular/cli@11 --force

现在,您已将Angular 7应用程序升级到Angular 11,因此您将运行以下命令以升级到最新Angular 12版本:

ng update @angular/core@12 @angular/cli@12 --force

--force如果它给出错误ng update,则附加到命令中。"Incompatible peer dependencies found"

编辑

将以下元标记添加到您的<head>元素中HTML

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
于 2021-07-02T15:03:28.657 回答
0

升级应用程序时不建议跳过版本。理想的方式应该是一次升级 1 个主要版本,即 7.x -> 8.x 等等。

为了更好地理解,请遵循 Angular 的更新指南: https ://update.angular.io/

于 2021-07-01T18:28:22.320 回答