Задать вопрос
losaped
@losaped
Пьяный самурай

Как коннектиться к websocket с другого сервера?

Суть:
пишу небольшую соц. сеть с упором на общение в чатах. И хочу использовать websocket как сервис, чтобы можно было балансировать нагрузку. Пытаюсь использовать https://github.com/olahol/melody в качестве фреймворка под это дело.
развернул на локальной машине сервер приложения и сервер для websocket, оба получаются на локалхосте, но на различных портах, при этом при попытке установить websocket соединение происходит проверка заголовка Origin с Host в Request понятно, что они отличаются только портом.
Вопрос: как быть в случае, если я хочу использовать несколько сервисов чата для обращения с одного сайта? как обойти ограничение?
Я могу переписать оригинальное поведение и осуществлять проверку со списком доверенных хостов, но не понимаю какие последствия это может за собой повлечь. Можете проконсультировать по данному вопросу?
  • Вопрос задан
  • 296 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Попробуйте что нибудь вроде
m := melody.New()
m.Upgrader.CheckOrigin = func(r *http.Request) bool { return true }

Катастрофических последствий не влечет. CheckOrigin добавляет мало безопаcности на стороне сервера потому что заголовок Origin легко подделывается. Браузер из коробки должен держать 30 ws connection с одним хостом и 200 всего.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы