【发布时间】:2020-02-17 17:40:32
【问题描述】:
我正在尝试扩展在 docker swarm 中运行的快速服务器。 当运行我的堆栈并且在同一台机器上有 2 个 express 服务器副本时,一切正常,但是一旦我将另一台服务器添加到 swarm 并且我的 express 应用程序在每台服务器上运行一个容器,那么问题就开始了。
我遇到的问题是:
- 来自 UI 的 POST 请求
- OPTIONS 预检已执行 - 从我的后端获取 204 状态代码
- 请求挂起,未发送 POST。
我尝试过的:
试图查看它是否与 CORS 有关,但我不这么认为,因为我已设法使其在与前端不同来源的一台服务器上工作。
尝试仅在工作节点(我添加到集群中的新节点)上运行 express 应用程序,并且它设法将 post 请求发送给它。
尝试仅在主节点上运行应用程序 - 成功了。
两台服务器都在我创建的负载平衡器后面(不知道这是否是一个问题) 两台服务器都在 AWS 上的 EC2 实例上运行 基本图像 - 节点:8-alpine 快递版:“快递”:“^4.17.1”,
【问题讨论】:
-
你的意思是两台服务器有相同的DNS?你在使用 DNS 负载平衡吗?
-
@slebetman,每个 ip 都有一个 A 记录 - 例如 A --> smart.mydomain.com --> ip1 A --> smart.mydomain.com --> ip2
-
同一个域名?
-
@slebetman,是的。这是问题吗?
-
因为我已经读到同一子域可以有 2 A 记录具有不同的 ips @slebetman
标签: node.js docker docker-compose docker-swarm