Net BasicsЗнаков 4424Время чтения≈ 12 мин

Как домен находит VPS: Введение в DNS, HTTPS и обратные прокси

Руководство для новичков по связке домена, DNS (A/AAAA-записи), портов, обратного прокси, TLS-сертификатов и HTTPS для доставки веб-запросов к приложению на VPS.

Содержание · 17
  1. 1. Полный путь одного веб-запроса
  2. 2. Основные типы записей DNS
  3. 3. Зачем нужен обратный прокси (Reverse Proxy)
  4. 4. Что защищает протокол HTTPS
  5. 5. Последовательность настройки веб-сервера
  6. 6. Поуровневая диагностика неполадок
  7. Домен ведет на старый IP-адрес
  8. IPv4 работает, но на некоторых устройствах сайт не открывается
  9. Ошибка 502 Bad Gateway
  10. Сбой выпуска ACME-сертификата
  11. Порт приложения доступен напрямую из интернета
  12. 7. Резюме
  13. Часто задаваемые вопросы (FAQ)
  14. Можно ли включить HTTPS без домена, только по IP?
  15. Что меняется при включении проксирования через Cloudflare?
  16. Нужно ли продлевать сертификаты вручную?
  17. Источники

Выполнение curl http://127.0.0.1:3000 на сервере доказывает, что веб-приложение работает локально. Однако, чтобы сайт открывался у посетителей по адресу https://example.com, необходимо объединить домен, записи DNS, сетевые порты, обратный прокси и сертификаты HTTPS в единую надежную цепочку.

Эти понятия часто упоминаются вместе, но каждое из них выполняет строго свою задачу.

1. Полный путь одного веб-запроса

Пользователь вводит домен в браузере
  ↓ DNS-запрос
Получение IP-адреса сервера
  ↓ TCP 443 + TLS-рукопожатие
Подключение к обратному прокси на VPS
  ↓ Перенаправление на 127.0.0.1:3000
Приложение возвращает ответ клиенту

Аналогии и распределение ответственности:

КомпонентАналогияРеальная обязанность
Доменное имяЗапоминающееся названиеЧеловекочитаемый адрес сайта
DNSТелефонный справочникПреобразование домена в IP-адрес и другие типы записей
IP-адресПочтовый адрес зданияОпределение узла или сетевого интерфейса в интернете
ПортНомер помещенияПередача соединения нужной сетевой службе
Обратный проксиСтойка администратораПрием внешних запросов и их маршрутизация к внутренним процессам
TLS-сертификатПроверенный паспортПодтверждение подлинности домена и шифрование трафика

DNS не хранит и не передает содержимое страниц, а TLS-сертификат не «направляет» домен на сервер. Каждый уровень настраивается и проверяется отдельно.

2. Основные типы записей DNS

ЗаписьНазначениеНа что обратить внимание
AСвязывает имя с IPv4-адресомТребует обновления при смене IPv4 сервера
AAAAСвязывает имя с IPv6-адресомНе добавляйте, если IPv6 на VPS не настроен
CNAMEСоздает псевдоним одного имени к другомуОбычно не применяется для корневого домена (Zone Apex)
TXTХранит текстовые данные (SPF, валидация)Не вставляйте неизвестные токены проверки

Изменения в DNS не распространяются мгновенно. Локальные и провайдерские DNS-резолверы кэшируют записи согласно значению TTL (Time to Live). При миграции уменьшайте TTL заранее.

3. Зачем нужен обратный прокси (Reverse Proxy)

На одном VPS часто работает несколько приложений:

blog.example.com  → 127.0.0.1:3000
api.example.com   → 127.0.0.1:4000

Обратный прокси (Nginx, Caddy) слушает публичные порты 80/443 и распределяет входящие запросы к нужным приложениям на основе заголовка Host (доменного имени). Он берет на себя терминацию TLS, сжатие трафика, ведение журналов и ограничение частоты запросов.

Это избавляет каждое приложение от необходимости управлять низкоуровневыми сетевыми портами и изолирует архитектуру:

  • Сначала проверяется работа приложения на localhost;
  • Затем проверяется маршрутизация прокси;
  • В конце проверяется DNS и внешний доступ по HTTPS.

4. Что защищает протокол HTTPS

HTTPS — это протокол HTTP, работающий поверх зашифрованного TLS-соединения. Он гарантирует:

1. Аутентификацию: браузер убеждается, что сертификат выдан именно для этого домена; 2. Конфиденциальность: передаваемые данные зашифрованы и защищены от перехвата; 3. Целостность: любая модификация данных при передаче мгновенно обнаруживается.

Центры сертификации (например, Let’s Encrypt) автоматически выпускают и продлевают сертификаты по протоколу ACME. Типы проверок (Challenge):

  • HTTP-01: проверка через размещение файла по протоколу HTTP (требует открытого порта 80);
  • DNS-01: проверка через создание TXT-записи в DNS (не требует открытых веб-портов);
  • TLS-ALPN-01: проверка через специальное TLS-соединение на порту 443.

Для стандартных веб-сайтов чаще всего используется HTTP-01.

5. Последовательность настройки веб-сервера

1. Запустите приложение на VPS, убедившись, что оно слушает только локальный адрес (127.0.0.1); 2. Проверьте локальный ответ приложения (curl -I http://127.0.0.1:3000); 3. Установите обратный прокси из официального репозитория; 4. Проверьте синтаксис конфигурации перед запуском службы; 5. Добавьте записи DNS и проверьте их резолвинг через публичные DNS; 6. Разрешите порты в фаерволе (для проверки HTTP-01 порт 80 обязателен); 7. Выпустите TLS-сертификат через надежный ACME-клиент; 8. Проверьте сайт из внешней сети по протоколу HTTPS; 9. Проверьте корректность настройки таймеров автоматического продления сертификата.

6. Поуровневая диагностика неполадок

Домен ведет на старый IP-адрес

Проверьте авторитативные записи DNS, значение TTL и локальный кэш. Не переустанавливайте веб-сервер, если трафик еще не доходит до нового VPS.

IPv4 работает, но на некоторых устройствах сайт не открывается

Проверьте, нет ли ошибочной записи AAAA. Устройства с поддержкой IPv6 пытаются подключиться по нему в первую очередь.

Ошибка 502 Bad Gateway

Обратный прокси активен, но не может связаться с бэкенд-приложением. Проверьте процесс приложения, адрес привязки, порт и локальный ответ.

Сбой выпуска ACME-сертификата

Изучите логи: для HTTP-01 проверьте доступность порта 80, для DNS-01 — права API и TXT-записи, а также синхронизацию системных часов по NTP.

Порт приложения доступен напрямую из интернета

Проверьте, не слушает ли приложение адрес 0.0.0.0, и закройте этот порт в фаерволе. Бэкенд должен быть доступен только локально.

7. Резюме

Домен, DNS, HTTPS и обратный прокси — звенья одной цепи: DNS находит IP, сеть доставляет пакеты на порт 443, TLS обеспечивает шифрование, а обратный прокси передает запрос приложению.

Часто задаваемые вопросы (FAQ)

Можно ли включить HTTPS без домена, только по IP?

Технически существуют сертификаты для IP-адресов, но для большинства веб-проектов используются стандартные доменные сертификаты.

Что меняется при включении проксирования через Cloudflare?

Трафик клиентов сначала идет на серверы CDN, а затем перенаправляется на ваш VPS. Появляется дополнительный уровень кэширования и защиты.

Нужно ли продлевать сертификаты вручную?

Современные бесплатные сертификаты выпускаются на 90 дней и продлеваются автоматически по расписанию через cron или systemd-таймеры.

Источники

Share

Поделиться статьёй