Прокси-сервер позволяет получать веб-интерфейс для приложений и подключаться к веб-приложениям, запущенным на определенном порту, через единый URL-адрес. Это удобно при работе с такими сервисами, как Flask, Panel, Inference, PySpark — вы можете открыть их интерфейс в браузере по ссылке, не настраивая сложные сетевые правила.
Название сервиса (endpoint) становится частью URL-адреса и используется для маршрутизации трафика на указанный порт. Прокси автоматически перенаправляет запросы с внешнего адреса на внутренний порт приложения.
Работа с прокси-сервером доступна в базовом образе jupyter-server:0.0.100.
Создайте Jupyter Server или откройте существующий.
На вкладке Jupyter Server в строке Jupyter Server нажмите JupyterLab.
В интерфейсе Jupyter Server в блоке Proxy Services нажмите Add proxy.
Укажите следующие параметры:
Port — введите номер порта, на котором запущено ваше веб-приложение, например 7233.
Service Name — задайте уникальное название для сервиса (endpoint), например flask-inf.
Это название будет использоваться в URL. Он будет иметь вид:
https://k2-nb.ai.cloud.ru/a100-mt/notebook/5d68c42d-5bc4-4605-a4ca-70cfcc6a95af/<service_name>/
Где <service_name> — название сервиса.
(Опционально) Добавьте иконку для визуального отображения сервиса в интерфейсе.
(Опционально) В поле Start Command укажите команду для автоматического запуска приложения при обращении к прокси.
Это позволит не запускать приложение вручную — оно запускается автоматически при первом обращении к прокси-серверу. Если вы не указали стартовую команду, перед обращением к прокси-серверу необходимо запускать приложение вручную.
Нажмите Add.
В блоке Proxy Services отобразится иконка созданного прокси-сервера.
В созданном прокси-сервере можно изменить:
номер порта;
название прокси-сервера;
иконку;
команду для автоматического запуска.
Для внесения изменений:
В интерфейсе Jupyter Server в блоке Proxy Services нажмите на иконку прокси-сервера.
Нажмите Edit Settings.
Внесите изменения и нажмите Save Changes.
Чтобы применить изменения, обновите веб-страницу Jupyter Server.
Подготовьте веб-приложение, которое будет запущено на указанном порту, например:
from flask import Flaskapp = Flask(__name__)@app.route('/')def home():return "Веб-приложение запущено!"if __name__ == '__main__':app.run(host='0.0.0.0', port=7233)
Запустите веб-приложение:
Откройте терминал в Jupyter Server.
В ячейке для кода выполните команду запуска веб-приложения:
python3 app.py
Приложение запустится на заданном порту, например 7233.
Дождитесь сообщения о запуске сервера. Убедитесь, что нет ошибок привязки к порту.
Проверьте доступ к веб-приложению:
Скопируйте сформированный URL прокси-сервера.
Откройте этот адрес в браузере.
Убедитесь, что интерфейс веб-приложения отображается корректно.
При необходимости проверьте функциональность приложения.
В интерфейсе Jupyter Server в блоке Proxy Services нажмите на иконку прокси-сервера.
Нажмите Delete Proxy.
Подтвердите удаление прокси-сервера.
Чтобы применить изменения, обновите веб-страницу Jupyter Server.