Ссылка из 3x-ui может выглядеть корректной и импортироваться в клиент, но это не означает, что сервер принимает соединение. В URI одновременно зашиты адрес, порт, идентификатор клиента, транспорт и параметры TLS или Reality. Ошибка в одном поле делает профиль нерабочим, хотя панель продолжает показывать его как активный.
Проверьте соединение по слоям: запущен ли Xray, слушает ли нужный порт, доступен ли он извне, совпадают ли UUID и transport, затем проверяйте TLS/Reality и только после этого приложение клиента. Не отключайте шифрование и проверку сертификата как постоянное решение.
Что проверить в первую очередь
Начните с воспроизводимого сценария: зафиксируйте время сбоя, идентификатор объекта, версию приложения или конфигурации и последнее известное рабочее состояние. Не меняйте несколько параметров одновременно. Один контролируемый шаг должен подтверждать или исключать одну гипотезу, иначе временное исчезновение симптома легко принять за исправление. Перед работой с данными и настройками подготовьте резервную копию и понятный способ отката.
- Убедитесь, что inbound включен и Xray запущен без ошибок конфигурации.
- Проверьте фактический listen-порт и доступ к нему с внешней сети.
- Сравните UUID, flow, network, security и serverName в панели и импортированном профиле.
- Уточните, используется домен или IP и соответствует ли выбранная схема сертификату или Reality.
Почему возникает проблема
Внешний симптом часто появляется не в том компоненте, где возникла первичная ошибка. Интерфейс может показывать неверное состояние из-за backend, очереди, кеша, прав доступа или внешнего API. Полезно проследить данные от источника до результата и найти первую точку расхождения. Это надежнее, чем исправлять последнее сообщение об ошибке или бесконечно перезапускать сервис.
- После изменения inbound ссылка сохранила старый порт или transport.
- Firewall, security group или провайдер блокирует входящее соединение.
- Домен указывает на другой адрес либо проксируется сервисом, несовместимым с выбранным транспортом.
- Reality public key, short ID или serverName не совпадает с серверной настройкой.
- Время сервера, просроченный сертификат или неполная цепочка ломают TLS.
Пошаговая диагностика
Диагностику проводите на тестовой записи или отдельном окружении. В журналах скрывайте токены, пароли, персональные данные и содержимое документов. Для каждого шага сохраняйте измеримый результат: код ответа, версию записи, идентификатор события, состояние процесса, контрольную сумму или время выполнения. Сравнение одной и той же операции до и после изменения помогает отделить причину от совпадения.
- Проверьте статус службы и последние строки журнала Xray сразу после попытки подключения.
- Посмотрите через ss или аналог, какой процесс слушает порт и на каком адресе.
- Проверьте порт с другой сети, чтобы исключить локальный NAT и блокировку провайдера.
- Разберите ссылку по полям и сравните ее с экспортом нового тестового клиента.
- Проверьте DNS A/AAAA, сертификат, SNI и отсутствие нежелательного проксирования.
Почему импорт профиля не подтверждает работоспособность
QR-код и URI являются только способом передать настройки. Клиент может принять синтаксически правильный профиль, но не проверяет доступность порта, валидность ключа Reality и соответствие маршрута до первого соединения.
- Address должен вести на сервер, доступный именно из сети клиента.
- Port обязан совпадать с реально слушающим inbound и быть разрешен firewall.
- UUID или password определяет клиента и не должен содержать скрытых пробелов.
- Transport, path, host и serviceName должны совпадать с серверной стороной.
- TLS/Reality параметры проверяются вместе: serverName, fingerprint, public key и short ID.
Как исправить проблему
Разбейте исправление на небольшие обратимые изменения. Сначала устраните подтвержденную причину, затем повторите исходный сценарий и проверьте соседние функции. Массовое обновление данных запускайте на ограниченной выборке с отчетом и только после сверки расширяйте на весь объем. Не отключайте авторизацию, валидацию, шифрование или проверку сертификатов ради быстрого исчезновения ошибки.
- Исправьте серверную конфигурацию и убедитесь, что Xray перезапустился, а не остался на старой версии.
- Откройте только необходимый порт в системном firewall и облачной security group.
- Перевыпустите клиентскую ссылку после изменения inbound и удалите старый профиль из приложения.
- Для TLS установите полную цепочку сертификата и корректный домен; для Reality синхронизируйте ключи и short ID.
- Добавьте внешний мониторинг порта и уведомление об остановке Xray.
Безопасный порядок внедрения
- Сохраните затрагиваемые данные, конфигурацию и текущие журналы, заранее проверив реальный способ восстановления.
- Повторите проблему на тестовом объекте без реальных списаний, рассылок и необратимых изменений клиентских данных.
- Зафиксируйте изменение в системе контроля версий или журнале работ вместе с причиной и планом отката.
- Проведите тест на нормальном сценарии, ошибочном вводе, повторном запросе, параллельной операции и временной недоступности зависимости.
- После выпуска наблюдайте логи, метрики и полный пользовательский путь, а не только один успешный запрос.
Как проверить результат
Разовый успешный тест недостаточен. Повторите операцию, проверьте крайние значения, одновременные действия и восстановление после перезапуска или временного сбоя. Для важного сценария сохраните автоматический тест либо короткий регрессионный чек-лист. Итог должен подтверждаться не только интерфейсом, но и состоянием базы, очереди, внешнего сервиса и журналом действий.
- Новый профиль подключается из мобильной и другой внешней сети.
- В журнале сервера виден успешный handshake конкретного UUID без циклических ошибок.
- DNS для IPv4 и IPv6 ведет на ожидаемый сервер либо ненужная AAAA-запись удалена.
- После перезагрузки сервера служба запускается автоматически и порт остается доступен.
Типичные ошибки при исправлении
- Публиковать панель управления в интернет без ограничения доступа.
- Отключать TLS verification вместо исправления домена или цепочки сертификата.
- Открывать все порты firewall ради проверки и оставлять правило.
- Менять одновременно transport, порт, ключи и DNS, теряя возможность определить причину.
Как предотвратить повторение
Профилактика строится вокруг явных контрактов, повторяемых релизов и наблюдаемости. Система должна не только работать сейчас, но и позволять быстро увидеть нарушение правила при следующем обновлении, росте нагрузки или сбое внешнего сервиса. Проверки полезно автоматизировать там, где ошибка уже привела к потерям времени, данных или заявок.
- Храните резервную копию конфигурации перед обновлением 3x-ui и Xray.
- Используйте отдельные UUID для клиентов и регулярно удаляйте неиспользуемые.
- Контролируйте срок сертификата, доступность порта и статус службы.
- Документируйте выбранный transport и параметры, которые должен содержать экспорт.
Что подготовить для технического разбора
- Описание ожидаемого и фактического поведения с точной последовательностью действий.
- Время проблемы, идентификатор тестового объекта и версии затронутых компонентов.
- Фрагменты журналов до и после ошибки без секретов и персональных данных.
- Перечень последних изменений и уже выполненных проверок.
- Безопасный доступ к тестовой среде либо способ воспроизвести сбой без влияния на клиентов.
Частые вопросы
Почему ссылка работает по Wi-Fi, но не через мобильную сеть?
Проверьте IPv6, блокировку порта, MTU и доступность домена через DNS мобильного оператора. Полезно сравнить подключение по домену и корректно настроенному адресу.
Нужно ли переустанавливать 3x-ui?
Обычно нет. Сначала проверьте журнал Xray и конкретные поля inbound. Переустановка может скрыть причину и уничтожить рабочую конфигурацию.
Когда нужна помощь специалиста
Если ссылка 3x-ui импортируется, но соединение не устанавливается, я могу проверить конфигурацию Xray, сеть, TLS/Reality и клиентский профиль, восстановить подключение и закрыть лишний доступ к панели и портам.