您如何在服务器端使用 angular 通用渲染 angular 应用程序并使用 ssl 证书?

How do you server-side render an angular app using angular universal and use an ssl certificate?

通常,如果我希望我的 angular 应用程序通过 https 在本地 运行,我将安装证书并在 angular.json 文件中执行此操作:

    "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "browserTarget": "whatever:build",
        "ssl": true,
        "sslCert": "server.crt",
        "sslKey": "server.key"
      }

这会使用本地证书启动应用程序 - 但不会将其用于实际部署。

我的 angular 通用应用程序具有相同的设置,但我收到此错误:

ERROR Error: localStorage and sessionStorage not supported

为什么失败是不言自明的,但我找不到任何关于正确方法的文档。

我正在使用这个架构师 属性 来构建我的服务器文件,但 ssl 在这里不是一个选项。

    "server": {
      "builder": "@angular-devkit/build-angular:server",
      "options": {
        "outputPath": "dist/server",
        "main": "src/main.server.ts",
        "tsConfig": "src/tsconfig.server.json"
      }
    }

有什么建议吗?

编辑:部署应用程序并使用服务器驱动的 ssl 设置而不是这些本地 ssl 文件时,此问题仍然存在。第一次访问该应用程序时出现错误,此后服务器 运行 正常,直到我们再次部署..

我刚刚意识到有一项服务正在通过节点包使用本地存储,当然当它在服务器上运行时它会失败。有道理。

需要弄清楚我的代码在服务器端渲染时需要做什么,如果有的话。