首页 > 解决方案 > 如何删除 Angular CLI 生成的 SSL 证书

问题描述

在我的项目中,由于一些第三方 API,我想获得一个本地 SSL 连接,所以我--ssl true在启动脚本中使用了这个命令。当我第一次启动我的服务器后,package.json我在 CLI 中看到了这个命令 Generating SSL Certificate。我想删除这个生成的 .crt 和 .key 文件,但我找不到这个生成的文件的位置。我是 Windows 用户。

标签: angularssl-certificate

解决方案


您可以通过在命令行参数之后添加位置来指定您的 ssl 证书

  • --ssl-cert
  • --ssl-key

像这样:

ng serve --ssl true --ssl-cert \"./ssl/localhost.crt\" --ssl-key \"./ssl/localhost.key\"

您还可以将密钥和证书的路径放在 angular.json 文件中,如下所示:

{
   "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
   "projects": {
       "<PROJECT-NAME>": {
           "architect": {
               "serve: {
                   "options": {
                       "sslKey": "<relative path from angular.json>/server.key",
                       "sslCert": "<relative path from angular.json>/server.crt",
                       ...
                   }, ...
               }, ...
           }, ...
       }, ...
   }, ...
}

然后你可以运行:

ng serve --ssl

如果您希望默认启用 SSL,则应在sslKeysslCert正下方添加一个"ssl": true选项。

您可以在Angular CLI 文档中找到 angular.json 架构。

链接到 Angular CLI 默认值

默认的自签名证书在此处生成,在上面的文档链接中定义:

  • sslKey(字符串):服务器使用的 ssl 密钥。默认为 ssl/server.key。
  • sslCert(字符串):服务器使用的 ssl 证书。默认为 ssl/server.crt。

推荐阅读