Решение проблем

Какой инструмент использовать

ДО УСТАНОВКИ                → meridian preflight IP
  "Будет ли этот сервер работать с Meridian?"
  Проверяет: SNI доступность, порт 443, DNS, ОС, диск.

ПОСЛЕ УСТАНОВКИ, НЕ МОГУ ПОДКЛЮЧИТЬСЯ → meridian test IP
  "Доступен ли прокси отсюда?"
  Проверяет: TCP порт 443, TLS handshake (Reality), домен HTTPS.
  SSH не нужен — запускается с клиентского устройства.

ПОСЛЕ УСТАНОВКИ, ЧТО-ТО СЛОМАЛОСЬ → meridian doctor IP
  "Собрать всё для отладки."
  Собирает: ОС сервера, Docker, логи 3x-ui, порты, фаервол, SNI, DNS.

Добавьте --ai к preflight или doctor для готовой к AI диагностической подсказки.

Не может подключиться вообще

Порт 443 не доступен

Причины:

  1. Брандмауэр облачного провайдера / группа безопасности блокирует входящий порт 443
  2. ISP или сетевая блокировка IP-адреса сервера целиком
  3. Сервер не работает или прокси не запущен
  4. UFW на сервере не разрешает порт 443

Решения:

  1. Проверьте консоль облачного провайдера — убедитесь, что 443/TCP разрешен входящему трафику
  2. Попробуйте с другой сети (мобильные данные, другой Wi-Fi)
  3. SSH на сервер и проверьте: docker ps (3x-ui работает?), ss -tlnp sport = :443
  4. Проверьте UFW: ufw status — должно показать 443/tcp ALLOW

TLS handshake не пройден

Причины:

  1. Xray не работает внутри Docker контейнера
  2. Порт 443 занят другим сервисом
  3. Целевой SNI Reality недоступен с сервера

Решения:

  1. Проверьте Xray: docker logs 3x-ui --tail 20
  2. Проверьте порт: ss -tlnp sport = :443 — должен быть nginx
  3. Протестируйте SNI: meridian preflight IP

Домен не доступен

Причины:

  1. DNS не указывает на IP сервера
  2. nginx не работает или не получил TLS сертификат
  3. nginx не маршрутизирует домен SNI правильно

Решения:

  1. Проверьте DNS: dig +short yourdomain.com @8.8.8.8
  2. Проверьте nginx: systemctl status nginx
  3. Проверьте конфигурацию nginx: /etc/nginx/conf.d/meridian-stream.conf

Соединение прерывается через несколько секунд

Причины:

  1. Рассинхронизация системных часов >30 секунд между клиентом и сервером
  2. Проблемы с MTU на сетевом пути
  3. ISP сбрасывает долгоживущие TLS сессии

Решения:

  1. Сервер: timedatectl set-ntp true. Клиент: включите автоматическую установку даты/времени
  2. Попробуйте другую сеть
  3. Используйте WSS/CDN подключение (режим домена)

Установка не удалась

Конфликт порта 443

Другой сервис (Apache, Nginx) использует порт 443. Остановите его или используйте чистый сервер. meridian preflight скажет вам, что использует порт.

Docker установка не удалась

Конфликтующие Docker пакеты из репозиториев дистрибутива. Meridian автоматически их удаляет, но если Docker уже работает с контейнерами, он пропускает для предотвращения сбоев.

Ошибки подключения SSH

Протестируйте SSH вручную: ssh root@SERVER_IP. Убедитесь, что у вас есть доступ на основе ключей. Используйте флаг --user если не root.

Xray не запускается (ошибка invalid JSON / MarshalJSON)

Поля settings или streamSettings входящей 3x-ui содержат повреждённый JSON. Это происходит когда settings отправляется как вложенный объект вместо JSON-строки — Go-структура 3x-ui ожидает тип string. API возвращает success: true, но сохраняет только имя первого ключа вместо полного JSON-объекта.

Решение: Удалите и переустановите: meridian teardown IP && meridian deploy IP. Для проверки базы данных: sqlite3 /opt/3x-ui/db/x-ui.db "SELECT settings FROM inbounds;" — каждое поле должно быть валидным JSON.

Ошибка создания XHTTP inbound (конфликт порта)

В старых версиях (до v3.6.0) и Reality, и XHTTP пытались использовать порт 443. 3x-ui отклоняет дублирующиеся порты.

Решение: Обновитесь до v3.6.0+. XHTTP теперь работает на localhost-порту, маршрутизируясь через nginx.

Недостаточно места на диске

Менее 2ГБ свободного места. Освободите место: docker system prune -af, journalctl --vacuum-time=1d, проверьте /var/log/.

DNS не разрешается (режим домена)

Домен ещё не указывает на IP сервера. Обновите A-запись DNS. Распространение обычно занимает 5-15 минут (до 48 часов). Meridian предупреждает, если DNS не разрешается, но позволяет продолжить.

Было работающим, теперь остановилось

Самая частая причина: IP-адрес сервера был заблокирован. Это очень частое явление в цензурируемых регионах.

Подробные инструкции по восстановлению см. в Руководстве по восстановлению заблокированного IP.

Другие причины:

  • Сервер перезагрузился и Docker не запустился автоматически → docker start 3x-ui
  • Диск переполнен → df -h /, docker system prune -af

Низкая скорость

  1. Выберите сервер географически ближе (Финляндия, Нидерланды, Швеция для Европы/Ближнего Востока)
  2. Проверьте нагрузку на сервер: htop или uptime
  3. Попробуйте WSS/CDN ссылку — может иметь лучшую маршрутизацию через Cloudflare
  4. Проверьте, включен ли BBR: sysctl net.ipv4.tcp_congestion_control

НЕ запускайте другие протоколы (OpenVPN, WireGuard) на том же сервере — это помечает IP.

AI-усиленная помощь

meridian doctor --ai

Копирует диагностическую подсказку в буфер обмена для использования с любым AI ассистентом.

Или соберите диагностику для GitHub issue:

meridian doctor

Релейный узел не работает

Проблемы, связанные с релейными узлами, см. в разделе Руководство релейных узлов — Решение проблем.

Интерпретация вывода preflight

ПроверкаЧто проверяетЕсли не прошла
Доступность SNI-целиМожет ли сервер достичь сайт маскировки?Исходящий трафик сервера ограничен. Попробуйте другой SNI с --sni
Совпадение SNI ASNСовпадает ли CDN/ASN SNI-цели с сервером?Используйте глобальный CDN-домен. Избегайте apple.com (ASN Apple)
Доступность порта 443Свободен ли порт 443 или используется Meridian?Другой сервис на 443. Остановите его или используйте чистый сервер
Внешняя доступность порта 443Может ли внешний мир достичь порта 443?Облачный фаервол блокирует. Откройте порт 443/TCP входящий
DNS доменаРазрешается ли домен в IP сервера?Обновите A-запись DNS
ОС сервераUbuntu/Debian?Другие дистрибутивы могут работать, но не протестированы
Дисковое пространствоМинимум 2ГБ свободно?Освободите место

Интерпретация вывода doctor

РазделНа что обратить внимание
Локальная машинаСовместимость ОС
СерверВерсия ОС, uptime (недавняя перезагрузка?), использование диска/памяти
DockerРаботает ли контейнер 3x-ui? Статус должен быть “Up”
Логи 3x-uiСообщения об ошибках, записи “failed to start”, проблемы с сертификатами
Прослушиваемые портыПорт 443 должен показывать nginx. Если отсутствует, прокси не работает
Фаервол (UFW)Порт 443/tcp должен быть ALLOW. Если не указан, он заблокирован
SNI-цельДолжно показывать CONNECTED с цепочкой сертификатов
DNS доменаДолжен разрешаться в IP сервера

Интерпретация вывода test

ПроверкаПройденаНе пройдена
TCP порт 443Сервер доступен по сетиФаервол, блокировка ISP или сервер не работает
TLS handshakeПротокол Reality работаетXray не работает, конфликт порта или проблема SNI
Domain HTTPSnginx работаетПроблема DNS или nginx

Если все проверки пройдены, но VPN-клиент всё ещё не может подключиться: пересканируйте QR-код, проверьте точность часов устройства (в пределах 30 секунд), или попробуйте другое приложение (v2rayNG, Hiddify).

On this page