Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья4 мин чтенияПросмотры0

Сайт доступен не всем: отдельно проверяем IPv4 и IPv6 через curl

Два сопоставимых запроса помогают увидеть разницу сетевых путей, HTTP-ответов и ошибок HTTPS без изменения DNS и серверных настроек.

Комментарии 0

Две отдельные линии IPv4 и IPv6 — схема раздельной проверки путей подключения, без измеренных показателей.
В этой статье

Одна сеть открывает сайт сразу, другая ждёт и выдаёт ошибку. При этом обычный запрос с сервера мониторинга успешен. Среди возможных причин есть различие путей IPv4 и IPv6. Чтобы проверить эту гипотезу, нужно выполнить два отдельных запроса к одному имени и сохранить результат каждого.

Инструкция рассчитана на Ubuntu 24.04 LTS и curl 8.5.0 с поддержкой IPv6. Документация сверена 27 сентября 2026 года. На локальных временных HTTP-серверах отдельно проверены выбор IPv4 и IPv6, получение кода 200 и вывод адреса соединения. Это проверка синтаксиса и двух локальных соединений; внешний DNS, маршрутизация и HTTPS таким тестом не подтверждены.

Подготовьте сопоставимые условия

Нужна установленная утилита curl, обычная командная строка и разрешённый сетевой доступ. Права администратора не требуются. Выберите небольшую публичную HTTPS-страницу своего сайта, чтение которой не меняет данные. Не используйте адрес оплаты, выхода из аккаунта, подтверждения заказа или административного действия.

В командах TARGET_URL — заглушка для полного адреса выбранной страницы. Замените её до запуска и сохраните кавычки. Используйте один и тот же адрес с доменным именем: подстановка IP вместо имени меняет условия проверки HTTPS. Не добавляйте пароли, персональные данные и секретные параметры.

До сравнения уточните наличие корпоративного прокси. Через посредника соединение утилиты может проверять адрес прокси, а разрешение имени назначения — выполняться иначе. Для проверки двух путей именно до сайта нужна разрешённая среда с понятной схемой подключения. Не отключайте обязательный прокси ради эксперимента; при таком ограничении передайте задачу сетевому администратору.

Выполните запрос по IPv4

curl -q -4 -sS -o /dev/null --connect-timeout 10 --max-time 20 -w 'code=%{http_code} peer=%{remote_ip}\n' "TARGET_URL"

Первый параметр -q исключает неявные настройки из пользовательского файла конфигурации curl. Это не отключает переменные среды прокси. Параметр -4 ограничивает разрешение имени адресами IPv4. Тело ответа отбрасывается в /dev/null, ошибки остаются видны. На установление соединения отведено 10 секунд, на весь запрос — 20.

Команда выполняет обычный запрос чтения страницы и не следует перенаправлениям автоматически. Она создаёт реальное обращение к приложению, поэтому достаточно нескольких ручных проверок. Для объёмной выгрузки или нагрузочного теста этот пример не предназначен.

Повторите по IPv6

curl -q -6 -sS -o /dev/null --connect-timeout 10 --max-time 20 -w 'code=%{http_code} peer=%{remote_ip}\n' "TARGET_URL"

Изменился только выбор семейства адресов: используется -6. Сохраните вывод, сообщение об ошибке, время и точку проверки. Поле peer показывает адрес установленного соединения. Поле code содержит полученный HTTP-код; значение 000 при неудаче не является ответом сервера с кодом HTTP 000.

Если IPv6-запрос не удался, ещё рано обвинять сервер сайта. В выбранной среде может не быть маршрута IPv6, для имени может отсутствовать подходящий адрес, а ошибка может возникнуть при соединении или проверке сертификата. Точное сообщение помогает выбрать следующий уровень исследования.

Сравните ответы, а не только факт открытия

Учебная ситуация: IPv4 возвращает 200, а IPv6 — ошибку сертификата. Это подтверждённое различие двух запросов из одной точки. Оно ещё не устанавливает, какой узел настроен неверно: дальше проверяют адреса, путь к обслуживающему узлу и сертификат для исходного имени. Отключать проверку сертификата ради одинаковых цифр нельзя — такое действие уберёт часть проверяемого условия.

Другой вариант: оба запроса получили HTTP-ответ, но один вернул 301, а другой 200. Сначала выясните ожидаемую конфигурацию перенаправления. Само наличие ответа по обоим семействам не доказывает одинаковое поведение сайта. В то же время перенаправление не является сетевым отказом.

Обычный клиент способен пробовать несколько адресов и выбирать успешно установленное соединение. Механизм Happy Eyeballs, описанный в RFC 8305, уменьшает задержку при различной доступности семейств адресов. Поэтому успешное открытие в браузере не означает, что оба пути исправны. Раздельные запросы нужны именно для проверки этой скрытой разницы.

Что передать для исправления

В отчёте должны остаться одно исходное имя, две команды с одинаковыми ограничениями, адреса соединений, HTTP-коды или точные ошибки, время и сеть проверки. Если доступна другая разрешённая сеть, повтор там поможет отделить локальное ограничение от более широкого отказа, но это отдельное наблюдение.

Результат диагностики — установленное различие: какой путь, из какой точки и на каком этапе не проходит. Удаление IPv6-записи, смена сетевых правил или отключение защиты из него автоматически не следуют. Решение принимают после подтверждения причины, а затем повторяют те же два запроса.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.