Как все настроить на VDS для запросов к вебсокетам на node js?
Решил изучить node - хочу разобраться как делать вебсокет сервер. Помогите понять как все устроено, пожалуйста.
И не судите строго, видимо у меня не хватает понимания о клиент-серверном взаимодействии, поэтому мои вопросы могут показаться вам странными.
Вот локально я разработал приложение, запускаю его и теперь мои сокеты работают к примеру на localhost:3000
И с любого локального сайта я могу к нему подключаться из js.
А вот вопросы когда это дело на хостинге происходит.
1) Получается там сокеты будут доступны на ip адресе VDS и указаном порте?
Не очень понимаю этот момент. А если у VDS для каждого сайта разный ip будет - как мне понять на каком запустятся сокеты?
2) Как запустить процесс сервера и сделать так, что бы можно было закрыть консоль и он автоматически перезапускался при падении и запускался при перезагрузке VDS
3) Для того что бы подключиться к вебсокетам из js скрипта - нужно указывать именно ip и порт или можно указать просто url определнный - и если можно url - то где настраивается это все. Я имею ввиду по какому url будет доступен сокет.
По нормальному нода не должна торчать наружу, Вы ведь остальное апи проксируете через nginx наверняка? Можно просто сделать для определенного локейшена прокси на порт где он поднят, что-то вроде такого:
Как запустить процесс сервера и сделать так, что бы можно было закрыть консоль и он автоматически перезапускался при падении и запускался при перезагрузке VDS
Websockets работают на базе http/https сервера, потому можно разрешить доступ к ним откуда угодно. В спецификации технологии предусмотрена обязательная проверка origin, т.е. url с которого идёт подключение, и протокол - строковой параметр. Origin, кстати, можно подделать.
Подключаться ws(s)://f.q.domain.name:{port: number}