@nicolanice

Как обеспечить доступ к внутренним сайтам авторизованному пользователю из Rails приложения?

Допустим есть некое физическое устройство. У него есть своё веб приложение. Это приложение доступно только локально с машины, где развернуто основное Rails приложение. Задача заключается в том, что нужно дать возможность авторизованным пользователям приложения ходить по этому веб приложению.

То есть авторизованные пользователи могут ходить по сайтам, на которые может ходить только само Rails приложение. Каким образом можно грамотно организовать проксирование ?

Первое, что приходит в голову, это обычный Net::HTTP и рендер полученных страничек.
Сначала мы отдаем пользователю главную страницу сайта (запрос rest client-ом и рендер ответа). Затем эта страница начинает подгружать свои файлы (стили, скрипты итд). Все они идут в один контроллер, который так же занимается тем, что делает запрос на внутренний сайт и отдает странички со всеми заголовками и т. д.
Проблема возникает когда на сайте есть WebSocket-ы или другие технологии. Тут уже надо поднимать обратный WS прокси и отдавать запросы ему.

Кто-нибудь сталкивался с подобным ? Есть какое-нибудь эффективное решение ? Может это можно реализовать средствами nginx ? Но тогда встает вопрос авторизации в rails через nginx. Устройств много и у каждого по 6-7 своих веб приложений
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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