node.js - 在不同端口上运行的 Nodejs 后端和前端中设置 cookie
问题描述
我正在使用 Express NodeJS,我想让我的后端和前端分开,它们应该在不同的机器上运行。现在我正在使用本地私有 IP(不是本地主机)在本地工作,因此我可以使用连接到我的 Wifi 的所有设备访问网站,但最终计划是拥有 2 个 docker 容器,一个用于后端一个用于前端。
问题是我刚刚实现了身份验证,当我将 cookie 发送到前端时,它们没有设置。我看到其他讨论,人们说出于安全原因,无法将 cookie 从 domainA 设置到 domainB。
据我了解,这在生产中不会出现问题,因为前端可以在 myWebsite.com 访问 DockerA,后端可以在 api.myWebsite.com 访问 DockerB,因此 cookie 应该没有问题因为主根域是相同的(即使 IP 不同)。我的假设正确吗?如果没有,您能解释一下原因,以便我尽快修复设计吗?
问题是:如何在本地模拟这个环境?这样我的开发代码可以表现得与生产中的一样吗?如何使用 Express 在不同端口上本地模拟相同的域?不在本地主机上,而是在私有 IP 地址上。
注意:我不想使用代理,我启用了 CORS 来发出请求。
解决方案
推荐阅读
- java - Junit 测试不适用于 Drools 5.4.0.Final 和 JDK 8
- php - 向 PHP/AJAX 联系表单添加单选按钮
- c - fgets 在非空文件上返回 null
- bootstrap-4 - 从轮播中的汽车引导多个模态
- python - 奇怪的 PIL.Image.fromarray 行为与 numpy 零和 mode='1'
- sql - 如何使用 ActiveRecord 使用带有数学的 where 子句选择记录?
- reactjs - 用反应钩子重试失败的graphql查询?
- python - Python boto3 脚本丢失 AWS 凭证并进行细微更改
- html - whatsapp分享按钮html
- javascript - React 子组件在父组件中更新状态后如何将其重置回原始状态