socket io连接到vpc中的私有ip/私有子网

socket io connect to private ip / private subnet in vpc

我的目标是通过 socket io 从我的 public 服务器连接到我的私人服务器 const socket = io("10.0.2.50:3001") 两者都连接到我的 vpc。私人服务器有我的应用程序的 socket/server 代码,public 服务器显示前端。我希望用户能够 link to/connect 到私有子网上的其他私有服务器。

我有一个基本的 aws vpc 设置 -

什么在起作用 -

我的感觉是在 vpc 中连接到私有服务器是一个套接字 io 限制,但我不确定为什么会这样,并且很好奇是否有解决方法。

提前致谢

"My feeling is that connecting to a private server in a vpc is a socket io limitation"

不,这就是网络的运作方式。您的 front-end 代码在笔记本电脑的网络浏览器中运行,而不是在 VPC 中运行。您的笔记本电脑不在 VPC 内。您的笔记本电脑只能连接到您 VPC 中的 public 资源,无法连接到您 VPC 中的私有资源。这就是 public 和私有 VPC 资源的定义。

要在 public Internet 上的网络浏览器和您的 back-end 服务器之间建立 Socket.IO 连接,这些服务器必须位于 public 子网中并且具有 public IP 地址,或者流量必须通过 public 服务器或 public 负载平衡器进行代理。