请找到我的以下用例:
有一个用 Java 开发的后端 Web 服务在 http://localhost:8080 上运行,还有一个 Angular UI 应用程序在 http://localhost:4200 上运行。现在我的要求是成功登录,后端服务在响应对象中设置cookie。
此后,所有后续从 UI 到后端服务的请求都应该是后端服务设置的 cookie 内容。
问题:
由于后端运行在不同的端口上,UI 无法读取 cookie,并且从 UI 到后端的所有后续请求都不包含 cookie。
有人可以帮我解决这个问题吗?
对于生产,您应该使用 nginx 或 Apache 以便在同一端口上工作。
对于开发,您可以为后端定义一个路径,例如 /api/ 并告诉 Angular 将所有请求重定向到该路径到您的后端服务器(在另一个端口上) 这看起来像
{
"/api": {
"target": "http://localhost:8080",
"secure": false,
"changeOrigin": true
}
}
官方指南https://angular.io/guide/build#proxying-to-a-backend-server
另一个https://juristr.com/blog/2016/11/configure-proxy-api-angular-cli/