您如何在服务器端使用 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 文件时,此问题仍然存在。第一次访问该应用程序时出现错误,此后服务器 运行 正常,直到我们再次部署..
我刚刚意识到有一项服务正在通过节点包使用本地存储,当然当它在服务器上运行时它会失败。有道理。
需要弄清楚我的代码在服务器端渲染时需要做什么,如果有的话。
通常,如果我希望我的 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 文件时,此问题仍然存在。第一次访问该应用程序时出现错误,此后服务器 运行 正常,直到我们再次部署..
我刚刚意识到有一项服务正在通过节点包使用本地存储,当然当它在服务器上运行时它会失败。有道理。
需要弄清楚我的代码在服务器端渲染时需要做什么,如果有的话。