HTTP туннель
Обзор
HTTP туннель позволяет предоставить доступ к сайту, API, GraphQL и Websocket-серверам.
Примеры
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
tuna http --help
Почти для всех флагов есть аналогичные переменные окружения.
Базовый пример
tuna http 8080
С передачей IP-адреса или Host
tuna http 10.0.0.1:8080
tuna http localhost:8080
Подключение к HTTPS ресурсу
tuna http https://localhost:443
Если нужно проверять валидность сертификата, то укажите --tls-skip-verify=false
, по умолчанию принимается любой самоподписанный сертификат.
С зарезервированным поддоменом
После оформления подписки можно резервировать адреса и после перезапуска туннеля адрес останется прежним:
tuna http 8080 --subdomain=billing
В unix системах также можно использовать переменную окружения TUNA_SUBDOMAIN
:
TUNA_SUBDOMAIN="billing" tuna http 8080
Если вы видите ошибку Domain already reserved
, значит домен в этой локации уже занят другим пользователем, попробуйте другое имя.
tuna http 8080 --subdomain=any-you-name
Резервирование происходит автоматически при добавлении аргумента. Все зарезервированные вами домены можно посмотреть в личном кабинете.
С собственным доменом
Добавьте свой домен следуя инструкциям в личном кабинете, после проверки DNS и выпуска Let's Encrypt сертификата можно пользоваться:
tuna http 8080 --domain=my-api-project.example.com
Есть подробная статья - Подключение своего домена.
Перенаправление на HTTPS
Запретить обращение по HTTP можно добавив флаг --https-redirect
.
Файловый сервер
tuna http --file-server ./
Хостинг статичного SPA сайта
Хостинг одностраничных приложений:
tuna http --file-server-spa ./
WebDAV сервер
tuna http --webdav ./
Изменение заголовков запроса
Добавление заголовка перед тем, как запрос попадет в локальный сервис:
tuna http 8080 --request-header="host:tuna.am"
Изменение заголовков ответа
Добавление заголовка для передачи клиенту (пользователю):
tuna http 8080 --response-header="env:test"