Руководства по развёртыванию, секретам, доменам и управлению контейнерами.

Машина без публичного адреса: сайт по домену и порты

Как открыть сервис на машине в приватной сети — домен с автоматическим HTTPS или публичный порт. · обновлено 2026-11-05

Часть машин работает в приватной сети платформы: у них нет своего «белого» IPv4. Это не мешает открывать на них сервисы — доступ выдаёт платформа, и в кабинете это блок «Доступ снаружи» на странице машины.

Есть два способа, и они не исключают друг друга:

Способ Что получится Когда нужен
Сайт по домену https://имя.z7a.ru с сертификатом платформы веб-приложение, API, панель, всё что открывается браузером
Публичный порт 185.135.80.164:30000 служба, которой домен не нужен: игровой сервер, SSH-туннель, произвольный TCP/UDP

На одну машину можно открыть не больше двух адресов (сайтов и портов вместе).

Какие тарифы так работают

Что Есть ли белый IPv4 Как входить
«ПроБа» (стартовый) нет консоль в кабинете; сайты и порты — в карточке машины
«Биллдий» (бесплатный план) нет приложениями управляет платформа, сервер клиенту не выдаётся
«Тест-драйв» (набор тестировщиков) нет то же: приложения по плану
«ПроРыв» и выше да SSH и любые порты напрямую, как раньше

Остальные тарифы работают по-прежнему: у них есть публичный адрес, домен заказа ведёт прямо на машину, а порты открываются вашим же файрволом.

1. Сайт по домену (рекомендуется)

  1. Откройте карточку машины → блок «Доступ снаружи».
  2. В строке с полем имени введите имя сайта латиницей, например myapp, и порт, который слушает ваше приложение внутри машины, например 8080.
  3. Нажмите «Открыть сайт».

Через полминуты сайт откроется по адресу https://myapp.z7a.ru — с настоящим сертификатом Let's Encrypt. Свой сертификат выпускать не нужно: платформа терминирует HTTPS на своём прокси и передаёт запрос внутрь машины на указанный порт.

Что важно знать:

  • имя должно быть свободно — занятые имена платформы (admin, api, www и подобные) и имена заказов (z123) не выдаются; при занятости кабинет попросит выбрать другое;
  • HTTP переадресуется на HTTPS автоматически (http://myapp.z7a.ru → https://myapp.z7a.ru);
  • приложение должно слушать 0.0.0.0, а не только 127.0.0.1: платформа обращается к машине изнутри сети, и сервис, привязанный к localhost, будет недоступен;
  • порт внутри машины должен быть открыт в её файрволе. Платформа делает это сама через агента (ufw allow <порт>), но если кабинет сообщил, что открыть не удалось, выполните команду вручную;
  • имя нельзя забрать с собой: это адрес платформы. Для собственного домена используйте вариант с публичным адресом или закажите машину с белым IPv4.

Если приложение на машине не отвечает, домен вернёт понятную страницу «Сайт опубликован, но приложение пока не отвечает» — так видно, что проблема в приложении, а не в домене.

2. Публичный порт

  1. В том же блоке в нижней строке укажите порт внутри машины (например 8080).
  2. Нажмите «Открыть порт».

Платформа выдаст номер из своего диапазона (30000–39999) и покажет готовый адрес вида 185.135.80.164:30000. Порт открывается на общем адресе платформы, а не на адресе вашей машины, поэтому:

  • порт не выбирается вручную — так два клиента не займут один номер;
  • по этому адресу работает только TCP или UDP, без TLS: если нужен HTTPS, берите вариант с доменом;
  • порт можно закрыть в любой момент кнопкой «Закрыть» — доступ прекращается в течение полуминуты.

3. Проверка

С машины (по SSH или в консоли):

curl -I http://127.0.0.1:8080            # приложение отвечает внутри машины
ss -ltnp | grep 8080                     # слушает 0.0.0.0:8080, а не 127.0.0.1:8080

Снаружи — из браузера или с другого сервера:

curl -I https://myapp.z7a.ru              # сайт по домену
curl -I http://185.135.80.164:30000       # опубликованный порт

Если не открывается

Что видно Причина Что делать
502 и текст «приложение пока не отвечает» приложение не запущено или слушает другой порт проверьте ss -ltnp, запустите сервис на указанном порту
Соединение по домену не устанавливается имя ещё не разошлось по DNS (до 5 минут) подождите и обновите страницу
403 от приложения приложение само ограничивает доступ (ALLOWED_HOSTS, IP-фильтр) добавьте домен платформы в разрешённые
«Имя уже занято» имя занято другим клиентом или службой платформы выберите другое имя
«На машину можно открыть не больше 2 адресов» лимит закройте ненужное или закажите машину с белым IPv4
Сайт открывается, но показывает не то приложение на порту слушает другой сервис укажите порт нужного приложения

Чем это отличается от машины с белым IPv4

У машины с публичным адресом домен ведёт прямо на неё, и вы можете открывать любые порты (https://z123.z7a.ru:8086), ставить свой веб-сервер и выпускать свои сертификаты. У машины в приватной сети наружу видно только то, что вы опубликовали в кабинете, — зато её нельзя просканировать снаружи и на неё не приходят запросы «на всякий случай» по всем портам.