首页 > 解决方案 > SSL 与 Angular-cli

问题描述

如何信任由 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 证书,但这只能工作一个月。

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

标签: angular-cli

解决方案


我会从头开始。

就使这项“公正”工作而言-您可以通过两种方式进行。

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


推荐阅读