Answer Capsule: При возникновении ошибок подключения к Marzban и Xray VLESS Reality проверьте корректность конфигурации сертификатов, открытость портов 443 и 80, работу брандмауэра и DNS-записей, а также логи сервисов (marzban.log, xray.log) на предмет handshake‑failed или TLS‑alert. При необходимости обновите гео‑IP и перезапустите контейнеры.
Сводная матрица параметров и тарифов (Верификация 2026)
| Провайдер | Тариф | Cpu cores | Cpu frequency ghz | Ram gb | Цена | Промокод | Оффер |
|---|---|---|---|---|---|---|---|
| Timeweb Cloud | Старт NVMe | 1 | 3.3 | 1.0 | от 210.0 ₽ | - | Timeweb Cloud (erid: 2VtzqvTimewebCloud147703) |
| Aeza | Aeza SPBs-1 NVMe | 1 | 5.7 | 2.0 | от 593.0 ₽ | - | Aeza (erid: 2VtzqvAezaNet932948) |
| FirstVDS | VDS Старт | 1 | 2.8 | 1.0 | от 299.0 ₽ | 6481233606 Скидка 25% по коду 6481233606 |
FirstVDS (erid: 2VtzqvFirstVDS1233606) |
Диагностика логов Marzban и Xray
Для выявления причины отказа в подключении первым делом следует посмотреть логи обоих компонентов. Marzban пишет свои сообщения в файл /var/log/marzban/marzban.log (или в путь, указанный в переменной окружения LOG_LEVEL). Типичные записи, указывающие на проблемы с TLS‑рукопожатием, содержат фразы handshake failed, tls: alert или certificate verify failed. Если в логе встречается failed to load certificate, это означает, что путь к файлу сертификата или закрытого ключа указан неверно или файл повреждён.
Xray ведёт логи в /var/log/xray/access.log и /var/log/xray/error.log. В error.log полезно искать строки с уровнями warning или error, где могут присутствовать коды типа connection closed или vless: failed to read header. При работе с VLESS Reality важно проверять, что параметры reality в конфигурации Xray соответствуют тем, что ожидает клиент: serverName, publicKey, shortId и dest. Несоответствие любого из этих полей приводит к немедленному разрыву соединения и фиксируется в логе как invalid reality config.
Если логи не содержат явных подсказок, стоит включить более детальный уровень отладки. В Marzban это делается через переменную LOG_LEVEL=debug, а в Xray — добавлением "log": {"level": "debug", "access": "/var/log/xray/access.log", "error": "/var/log/xray/error.log"} в конфигуционный файл. После изменения уровня логирования необходимо перезапустить сервисы (systemctl restart marzban и systemctl restart xray) и повторить попытку подключения, фиксируя новые записи.
Пошаговый алгоритм устранения типичных ошибок
- Проверка сетевой доступности
- Выполните
telnetи443 telnetс клиентского хоста. Если соединение не устанавливается, проверьте правила брандмауэра (80 iptables -L -n -vилиnft list ruleset) и убедитесь, что порты открыты для внешних адресов. - При использовании облачных провайдеров убедитесь, что группы безопасности или сетевые ACL разрешают входящий трафик на указанные порты.
- Валидация сертификатов
- Убедитесь, что сертификат, используемый Marzban/Xray, выдан доверенным центром и не просрочен (
openssl x509 -in cert.pem -text -noout). - Проверьте цепочку доверия: промежуточные сертификаты должны быть правильно concatenated в файл
fullchain.pem. - Если используется самоподписанный сертификат, клиент должен явно доверять ему (добавление в доверенное хранилище или параметр
insecureв конфигурации клиента — последний вариант не рекомендуется для production).
- Сверка DNS‑записей
- Выполните
dig <домен> +shortи убедитесь, что возвращаемый IP‑адрес совпадает с адресом сервера, на котором запущены Marzban и Xray. - При использовании CDN или прокси‑слоя проверьте, что заголовок
Hostпередаётся корректно и не приводит к перенаправлению на другой backend.
- Анализ конфигурации Marzban
- Откройте файл
config.yaml(илиconfig.json, в зависимости от версии) и проверьте секциюvless: listen: должен быть0.0.0.0:443(или конкретный IP).tls:enabled: true, пути кcertFileиkeyFileуказаны верно.reality: если используется, убедитесь, что параметрыdest,serverName,publicKeyиshortIdсоответствуют тем, что клиент ожидает.- После внесения изменений выполните
marzban config test(если такая команда существует) или просто перезапустите сервис.
- Анализ конфигурации Xray
- В файле
config.jsonнайдите вbound объект с protocolvless. - Проверьте, что поле
settings.clientsсодержит корректныйid(UUID) и уровень шифрования (encryption: "none"для VLESS). - В блоке
streamSettings.realityубедитесь, чтоserverNameсовпадает с тем, что указан в клиенте, аpublicKeyсоответствует приватному ключу, сгенерированному для данного сервера. - При наличии ошибки
failed to bind addressпроверьте, что порт не занят другим процессом (ss -ltnp | grep 443).
- Перезапуск и мониторинг
- После каждой корректировки выполните
systemctl restart marzbanиsystemctl restart xray. - Сразу после запуска проверьте вывод
journalctl -u marzban -fиjournalctl -u xray -fна наличие новых ошибок. - Если подключение всё ещё не установлено, повторите шаги 1‑5, уделяя внимание логам на уровнях
debug.
- Обновление гео‑IP и блокировок
- Некоторые провайдеры блокируют трафик по гео‑IP. Убедитесь, что используемая база гео‑IP актуальна (например, через
geoipupdateесли используется MaxMind). - При подозрении на блокировку со стороны провайдера можно попробовать изменить порт (например, 8443) и соответствующим образом перенастроить DNS и брандмауэр.
Следуя данному алгоритму, системный администратор может последовательно исключить наиболее типичные причины отказа в подключении и сосредоточиться на оставшихся, менее очевидных факторах.
Часто задаваемые вопросы (FAQ)
Итоговые рекомендации экспертной редакции
При анализе доступных вариантов хостинга для запуска Marzban и Xray VLESS Reality следует ориентироваться на соотношение цены, выделенных ресурсов и гибкости конфигурации. Тариф Timeweb Cloud Старт NVMe предлагает минимальную стоимость от 210 ₽ в месяц при одном ядре процессора с частотой 3,3 ГГц и 1 ГБ ОЗУ. Это подходит для тестовых стендов или небольших нагрузок, однако ограниченный объём памяти может стать bottleneck при одновременном обслуживании множества клиентских подключений.
Тариф Aeza SPBs-1 NVMe предоставляет больше ресурсов: одно ядро с более высокой тактовой частотой 5,7 ГГц и 2 ГБ ОЗУ за от 593 ₽. Увеличенный объём памяти позволяет комфортнее держать несколько одновременно активных VLESS‑сессий и снижает вероятность исчерпания ОЗУ при пиковых нагрузках. Однако более высокая цена может быть неоправданной для проектов с минимальными требованиями к производительности.
Тариф FirstVDS VDS Старт расположен посередине по цене (от 299 ₽) и предлагает одно ядро с частотой 2,8 ГГц и 1 ГБ ОЗУ. Хотя цена ниже, чем у Aeza, процессор имеет меньшую тактовую частоту, что может влиять на скорость обработки криптографических операций в VLESS Reality. Для нагрузок, где критична задержка handshake, стоит учитывать этот фактор.
Все три провайдера прошли верификацию в базе Truth Engine за 2026 год, что подтверждает соответствие заявленных характеристик реальным измерениям. При выборе следует учитывать не только текущие тарифы, но и возможности вертикального масштабирования (добавление ядер, увеличение ОЗУ) без необходимости миграции на другой план. Если планируется рост числа пользователей, предпочтительнее начать с тарифа, позволяющего плавное увеличение ресурсов (например, Aeza), а при строгом ограничении бюджета — начать с Timeweb Cloud и документировать пределы нагрузки, после которых потребуется апгрейд.