【问题标题】:SSL with Angular-cliSSL 与 Angular-cli
【发布时间】:2019-02-21 13:44:23
【问题描述】:

如何信任由 NG serve 命令自行生成的 SSL 证书?

重现步骤:

环境 (ng --version)

Angular CLI: 7.3.1
Node: 10.15.1
OS: win32 x64
Angular: 7.2.4

使用ng new myApp 创建一个新项目。

package.json 更改为包含"start": "ng serve --ssl"

运行npm start

导航到https://localhost:4200

现在这将为生成的证书引发证书错误。

我正在寻找一种普遍信任证书的方法,因为我知道我可以安装 gen'd 证书,但只能使用一个月。

我也不是特别热衷于自行生成证书,因为我希望它“只是” 跨多个项目工作。

【问题讨论】:

  • 如果您不想生成证书......抛开所有明显的警告,您是否尝试过使用 --ignore-certificate-errors chrome 标志?
  • 我不想手动生成证书,我想信任 webpack 在后台使用的 CA。 (例如不是medium.com/@rubenvermeulen/…
  • 这取决于浏览器策略。 Firefox 和 Chrome 对如何安装证书和信任它们有不同的政策。例如 Chrome 尝试使用底层操作系统的根证书存储。 chromium docs Firefox 默认不使用操作系统的证书存储。 Mozilla wiki

标签: angular-cli


【解决方案1】:

我会从头开始。

就使这项“公正”的工作顺利进行 - 有两种方法可以解决。

1) 为您的本地域生成自签名通配符证书。 是的,您需要将所有本地网站托管为一个根域的子域,但这比这要容易得多替代方案,即:

2) 动态生成的 SSL 证书。 这虽然不是不可能的,但也不是小菜一碟,而且您首先提出这个问题的事实让我认为您不会暂时还不能完成这项任务。您不仅需要处理证书的动态生成,还需要让 Web 服务器参与进来。有一个 Nginx 的分支可以让你这样做(下面的链接),但老实说,我建议你不要让自己头疼。

https://blog.dutchcoders.io/openresty-with-dynamic-generated-certificates/

关于创建自签名证书以用于您的 Angular 项目并将其添加到受信任的根证书颁发机构存储中,我相信本文描述了您需要的一切:

https://medium.com/@richardr39/using-angular-cli-to-serve-over-https-locally-70dab07417c8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2017-01-05
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多