Всем привет. Есть проект. Требуется реализация чата на веб сокетах, но проект у меня на обычном хостинге. А сервер на NodeJS я решил сделать отдельно на VPS. И все бы ничего, и сокеты работают и к БД с помощью ноды цепляется и данные получает. Но проект использует домен с HTTPS, а vps только http и никак они не дружат. Пробовал с http на http - все ок. Тоже самое с https. А вот на разные не хочет ни в какую.
Так var socket = new WebSocket("ws://javascript.ru"); - не работает т.к сайт на https сидит
Так var socket = new WebSocket("wss://javascript.ru"); - не подключается т.к vps https
Что делать незнаю, переносить проект на vps не вариант.
перенести сервис на ноде на основной хостинг, или связаться с администрацией VPS на предмет "как подружить вашу VPS с https" (если сами не можете настроить nginx и letsencrypt на своей VPS).
kirillbelash93, домен тоже можно получить. на noip.com например, т.е. заюзать DynDNS сервис.
Ну если конечно это боевое приложение, то домен таки придется сделать.
SSL на IP можно, но небесплатно и проще с доменом. Можно переехать например.
kirillbelash93, осталось только получить на них сертификат и прописать в вашем dns сервере а запись для одного из поддоменов, указывающую на IP вашего vds, а на самой vds подключить сертификат к вашему wss серверу
kirillbelash93, ват? Сокеты на то и нужны, чтобы асинхронно отправлять данные в обе стороны.
Обновляешь в бд на сервере и отправляешь всем клиентам уведомление.
kirillbelash93, нет.
Открываешь сайт, он забирает текущие данные, открывает сокет.
Бэкенд получает запрос на изменение данных. Сервер меняет БД и сразу же отсылает в вебсокеты всем подключенным клиентам сообщение об изменениях .
Хотя бы просто в виде события что данные изменились, а можно и сами данные выслать.
Так работает firebase, клиенты как бы подключены онлайн к бд, получают изменения сразу же.