Моя цель - подключить socket io с моего общедоступного сервера к моему частному серверу через
const socket = io("10.0.2.50:3001")
оба подключены к моему vpc. на частном сервере есть код сокета/сервера для моего приложения, публичный сервер отображает внешний интерфейс. Я хотел бы, чтобы пользователи могли подключаться/подключаться к другим частным серверам в частной подсети.
у меня есть базовая настройка aws vpc -
Что работает -
const socket = io("x.x.x.x:3001")
Я чувствую, что подключение к частному серверу в vpc является ограничением сокета io, но я не уверен, почему это так, и мне было любопытно, есть ли обходной путь.
заранее спасибо
"My feeling is that connecting to a private server in a vpc is a socket io limitation"
Нет, просто так работают сети. Ваш интерфейсный код работает в веб-браузере на вашем ноутбуке, а не в VPC. Ваш ноутбук не находится внутри VPC. Ваш ноутбук может подключаться только к общедоступным ресурсам в вашем VPC, он не может подключаться к частным ресурсам в вашем VPC. Это само определение общедоступных и частных ресурсов VPC.
Чтобы соединения Socket.IO работали между веб-браузерами в общедоступном Интернете и вашими внутренними серверами, эти серверы должны находиться в общедоступной подсети и иметь общедоступный IP-адрес, или трафик должен проходить через общедоступный сервер или общедоступный балансировщик нагрузки.
спасибо за ответ, очень новичок в этом, поэтому разъяснения приветствуются. что меня сбивает с толку, так это то, что мне кажется, что я подключаюсь/имею доступ к частному серверу через proxy_pass и/или curl. Я понимаю, что разница между соединением proxy_pass/curl и socket io заключается в том, что я обращаюсь к частному серверу через общедоступный сервер, а не через код на стороне клиента.