person-to-portalРабота с портами и проксированием

В DSLab можно запускать веб-приложения и API-сервисы прямо внутри проекта. Чтобы такие сервисы были доступны извне, используется система проксирования.

Как это работает

Когда вы запускаете сервер внутри проекта (например, FastAPI или фронтенд-дев-сервер), он начинает слушать определённый порт, например 3000.

Чтобы получить внешний URL, нужно открыть вкладку Порты в интерфейсе VS Code. Там автоматически появится запись о запущенном процессе с номером порта и сгенерированной ссылкой вида:

https://<случайный-хост>.dslab.tech/proxy/<ваш-порт>

Эта ссылка — уникальна для каждой сессии и именно её нужно использовать для доступа к вашему приложению.

Важно: получить адрес заранее по шаблону https://<ваш-домен>/proxy/3000/ нельзя. URL всегда определяется системой при запуске и отображается только на странице Порты.


Примеры использования

Веб-приложение на Flask / FastAPI

uvicorn app:app --host 0.0.0.0 --port 3000

После запуска в разделе Порты появится ссылка на внешний адрес. Перейдя по ней, вы увидите запущенное приложение.

Jupyter Notebook с кастомным сервером

Если вы запустили дополнительный сервер внутри ноутбука на порту 8080, в списке портов появится соответствующая ссылка.

Frontend (React, Vue, Angular)

Например, при запуске Vite на localhost:5173 внешний доступ будет доступен по автоматически сгенерированному URL для порта 5173.


Важные моменты

  • Поддерживаемые порты

    Обычно доступны порты в диапазоне 1024–65535. Чаще всего используются стандартные (3000, 8080, 5000, 5173 и т. д.).

  • Несколько портов

    Можно запускать сразу несколько сервисов, каждому будет соответствовать своя строка и своя уникальная ссылка во вкладке Порты.

  • HTTPS по умолчанию

    Все внешние ссылки доступны только по защищённому протоколу HTTPS.

  • Внутренний доступ

    Изнутри проекта сервисы доступны по localhost:<порт>, как в обычной локальной среде.

  • Автоматическая остановка

    Если проект неактивен (нет вычислительных процессов), он будет остановлен через 40 минут, и все порты перестанут быть доступны.


Когда использовать

  • Для тестирования API-сервисов.

  • Для просмотра интерфейсов веб-приложений.

  • Для запуска временных фронтенд/бэкенд-сервисов при разработке.

  • Для проверки прототипов перед деплоем.

Последнее обновление