Evolution
Тема интерфейса

Создание прокси-сервера для подключения к веб-приложениям

В инструкции описано, как подключиться к веб-приложениям через прокси-сервер с локального ноутбука.

Прокси-сервер позволяет получать веб-интерфейс для приложений и подключаться к веб-приложениям, запущенным на определенном порту, через единый URL-адрес. Это удобно при работае с такими сервисами, как Flask, Panel, Inference, PySpark — вы можете открыть их интерфейс в браузере по ссылке, не настраивая сложные сетевые правила.

Имя сервиса (endpoint) становится частью URL и используется для маршрутизации трафика на указанный порт. Прокси автоматически перенаправляет запросы с внешнего адреса на внутренний порт приложения.

Для подключения к веб-приложению через прокси сервер:

1. Создайте прокси-сервер

  1. Создайте ноутбук или откройте существующий.

  2. В интерфейсе ноутбука нажмите Add proxy в блоке дополнительных модулей Other.

  3. Укажите следующие параметры:

    1. Порт — введите номер порта, на котором запущено ваше веб-приложение, например, 7233.

    2. Сервисное имя — задайте уникальное имя для сервиса (endpoint), например, flask-inf.

      Это имя будет использоваться в URL: https://notebook-rma7c-at.containerapps.ru/<сервисное_имя>/

    3. (Опционально) Добавьте иконку для визуального отображения сервиса в интерфейсе.

    4. (Опционально) В поле Стартовая команда укажите команду для автоматического запуска приложения при обращении к прокси. Это позволит не запускать приложение вручную — оно запускается автоматически при первом обращении к прокси. Если вы не указали стартовую команду, то необходимо запускать приложение перед обращением к прокси.

  4. Нажмите Add.

2. Подготовьте веб-приложение

Подготовьте веб-приложение, которое будет запущено на указанном порту, например:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Веб-приложение запущено!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7233)

3. Запустите веб-приложение

  1. Откройте терминал в ноутбуке.

  2. В ячейке для кода выполните команду запуска веб-приложения, например:

    !python3 /mnt/s3/ntbbckt/<service-name>/app.py

    Где service-name — название сервиса.

    Приложение начнет работать на заданном порту, например, 7233.

  3. Дождитесь сообщения о запуске сервера. Убедитесь, что нет ошибок привязки к порту.

4. Проверьте доступ к веб-приложению

  1. Скопируйте сформированный URL прокси. Он будет иметь вид:

    https://notebook-rma7c-at.containerapps.ru/<flask-server>/

    Где flask-server — имя сервиса.

  2. Откройте этот адрес в браузере.

  3. Убедитесь, что интерфейс веб-приложения отображается корректно.

  4. При необходимости проверьте функциональность приложения.

Теперь вы можете получать доступ к любым веб-приложениям, запущенным на портах, через URL с использованием прокси-сервера. Такой подход упрощает разработку и демонстрацию сервисов без необходимости настройки внешних IP или DNS.