Облачная платформаEvolution

Работа с прокси-сервером в Jupyter Server

Эта статья полезна?

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

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

Примечание

Работа с прокси-сервером доступна в базовом образе jupyter-server:0.0.100.

Создать прокси-сервер

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

  2. На вкладке Jupyter Server в строке Jupyter Server нажмите JupyterLab.

  3. В интерфейсе Jupyter Server в блоке Proxy Services нажмите Add proxy.

    ../../../_images/s__guides__proxy1.webp
  4. Укажите следующие параметры:

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

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

      Это название будет использоваться в URL. Он будет иметь вид:

      https://k2-nb.ai.cloud.ru/a100-mt/notebook/5d68c42d-5bc4-4605-a4ca-70cfcc6a95af/<service_name>/

      Где <service_name> — название сервиса.

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

    4. (Опционально) В поле Start Command укажите команду для автоматического запуска приложения при обращении к прокси.

      Это позволит не запускать приложение вручную — оно запускается автоматически при первом обращении к прокси-серверу. Если вы не указали стартовую команду, перед обращением к прокси-серверу необходимо запускать приложение вручную.

  5. Нажмите Add.

    В блоке Proxy Services отобразится иконка созданного прокси-сервера.

Редактировать прокси-сервер

В созданном прокси-сервере можно изменить:

  • номер порта;

  • название прокси-сервера;

  • иконку;

  • команду для автоматического запуска.

Для внесения изменений:

  1. В интерфейсе Jupyter Server в блоке Proxy Services нажмите на иконку прокси-сервера.

  2. Нажмите Edit Settings.

    ../../../_images/s__guides__proxy2.webp
  3. Внесите изменения и нажмите Save Changes.

  4. Чтобы применить изменения, обновите веб-страницу Jupyter Server.

Подключиться к веб-приложениям через прокси-сервер

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

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

    1. Откройте терминал в Jupyter Server.

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

      python3 app.py

      Приложение запустится на заданном порту, например 7233.

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

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

    1. Скопируйте сформированный URL прокси-сервера.

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

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

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

Удалить прокси-сервер

  1. В интерфейсе Jupyter Server в блоке Proxy Services нажмите на иконку прокси-сервера.

  2. Нажмите Delete Proxy.

  3. Подтвердите удаление прокси-сервера.

  4. Чтобы применить изменения, обновите веб-страницу Jupyter Server.