数字海洋:使用私人网络进行液滴到液滴的通信?

数字海洋:使用私人网络进行液滴到液滴的通信?

我正在努力将 Nginx 配置为负载均衡器,并将请求反向代理到不同 droplet 上的 Node 应用程序。我有两个 Digital Ocean droplet(均为 Ubuntu 18.04)并启用了私有网络。我的 droplet 位于同一区域。

我是否可以将私有 IP 地址用作servernginx.conf 文件中上游配置块中的 IP?我的节点应用程序正在端口 3000 上运行 express js。

upstream nodeApiApp {
  server 10.1.2.150:3000 fail_timeout=0;
  keepalive 60;
}

目前,我无法让两个 droplet 进行通信。您能告诉我问题可能出在哪里吗?

网页显示此错误:504 Gateway Time-out。在跟踪 nginx 的错误日志时,我发现以下错误:

2019/07/20 21:53:59 [error] 3136#3136: *1165 upstream timed out (110: 
Connection timed out) while connecting to upstream, client: 68.12.133.91, server: api.example.com, request: "GET / HTTP/2.0", upstream: "http://10.1.2.150:3000/", host: "api.example.com"

当我跟踪我的节点应用程序日志时,我没有看到任何活动。

通过 SSH 进入我的负载均衡器 droplet 后,我​​无法 ping 或 telnet 进入我的第二个 droplet。这可能是防火墙问题吗?如果是这样,droplet 到 droplet 通信的常见入站/出站规则配置是什么?

根据文档,我以为这两个虚拟专用服务器实例能够相互通信,因为它们位于同一区域。我在配置这些实例时选择启用专用网络。专用网络应该全部设置好了。

相关内容