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

标签 angular ssl angular-universal

通常,如果我希望我的 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 文件时,这个问题仍然存在。第一次访问应用程序时出现错误,之后服务器运行正常,直到我们再次部署..

最佳答案

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

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

关于angular - 您如何在服务器端使用 angular universal 渲染 angular 应用程序并使用 ssl 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53523434/

相关文章:

Angular Formio 自定义组件

javascript - 类型错误 : cannot read property 'id' of undefined - Angular 8 Testing

html - 如何在 Protractor e2e 测试中从列表(表)中获取行?

c# - 使用 HTTPS (SSL) 分发带有嵌入式 (OWIN) 网络服务器的应用程序

具有转移状态的 Angular 通用 flickring

angular - 在动态创建的组件angular 2中调用方法

asp.net-mvc - 启用 SSL 时,IIS Express 默认为 HTTPS 端口 44300

unity3d - Unity WebClient SSL 超时

angular - 引用错误 : Zone is not defined

angular - 元标记未在查看源代码中更新 - Angular