Как расшарить локальный веб-сервис в интернет

Jul 13, 2024

Как расшарить локальный веб-сервис в интернет

Цель

  • Расшарить локально развёрнутый веб-сервис в интернет, чтобы им могли пользоваться любые пользователи.
  • Сделать процесс как можно проще.

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

  • Разработка Telegram вебхуков.
  • Локальная отладка систем оплаты (интернет эквайринг).
  • Быстрая демонстрация коллегам или заказчику без поднятия полноценного сервера.

Требования

  • Приложение должно работать на локальном компьютере.
  • Подходит любое веб-приложение на любом языке программирования.

Демонстрация

Пример с изображениями

  1. Запуск локального Python HTTP сервера:
    python3 -m http.server
    
  2. Сервер доступен на localhost:8000, но виден только локально.

Способы расшаривания локального веб-сервиса

1. Ngrok

  • Описание: Самый популярный способ расшаривания localhost в интернет.
  • Установка:
    brew install ngrok
    
  • Запуск:
    ngrok http 8000
    
  • Функции:
    • Бесплатная версия предоставляет достаточно возможностей.
    • Возможность получения статичного домена для вебхуков и систем интернет-эквайринга.

2. Localtunnel

  • Описание: Open Source решение для туннелирования.
  • Установка:
    npm install -g localtunnel
    
  • Запуск:
    lt --port 8000 --subdomain mysubdomain
    

3. Serveo

  • Описание: Expose local servers to the Internet.
  • Особенности: Не требует установки и регистрации.
  • Запуск (рандомный домен):
    ssh -R 80:localhost:8000 serveo.net
    
  • Запуск (статичный домен):
    ssh -R mydomain:80:localhost:8000 serveo.net
    
  • Проходит аутентификация через GitHub или Google.

4. Expose

  • Описание: Open Source туннелирование на PHP.
  • Особенности: Есть тарифные планы.
  • Сайт: Expose

5. Tunnelto.dev

  • Описание: Платформа для туннелирования.
  • Тарифы: 2 доллара в месяц за статичный поддомен.

Дополнительно

Развёртывание веб-сервера на Android устройстве

  • Используя Termux можно запустить веб-сервер на Android телефоне и расшарить его через интернет.
  • Установка Termux: Приложения для работы с командной строкой на Android.
  • Запуск Python HTTP сервера:
    python3 -m http.server 8000
    
  • Использование Serveo для расшаривания сервера:
    ssh -R mydomain:80:localhost:8000 serveo.net
    

Развёртывание Django проекта на Android устройстве

  • Создание Django проекта на телефоне.
  • Настройка виртуального окружения и установка Django.
  • Прописывание домена в Django settings.
  • Запуск сервера:
    python manage.py runserver 8000
    
  • Расшаривание через Serveo.

Заключение

  • Ngrok, Localtunnel, Serveo представляют разные подходы к решению задачи расшаривания локального веб-сервиса в интернет.
  • Termux позволяет запускать веб-серверы на Android устройствах и расшаривать их через интернет.
  • Эти инструменты помогают разработчикам тестировать и демонстрировать свои работы легче и эффективнее.