Симптом
После смены домена-маскировки (dest/SNI) для транспорта на нестандартном порту — например xhttp на :8443 — соединение либо не поднимается стабильно, либо конфликтует с другим листенером. Домен «вроде живой», но не годится.
Причина
Reality и XHTTP маскируют трафик под реальный сайт, и dest должен корректно поддерживать современный TLS-стек, под который мимикрирует транспорт. Если выбранный домен не отдаёт TLS 1.3 или не согласует HTTP/2 по ALPN, маскировка неполноценна и транспорт работает нестабильно.
Отдельная грабля — попытка силой свести две ноды на один и тот же vision:443: два активных vision-листенера на :443 у клиента схлопываются в конфликт, и «в лоб» это не лечится.
Решение
Перед использованием домена как dest проверьте его TLS-профиль:
openssl s_client -connect <домен>:443 -servername <домен> -tls1_3 -alpn h2
- Годятся домены, отдающие TLS 1.3 +
h2в ALPN — обычно крупные технические, облачные, хостинговые сайты. Не годятся те, у кого нет HTTP/2. - Для нестандартного порта (8443/xhttp) подбирайте «родной» для такого порта технический домен, а не банковский или произвольный.
- Не консолидируйте ноды на один
vision:443силой — это плодит клиентский конфликт. Развязывайте по портам и транспортам. - Правки dest,
serverNamesинбаунда и SNI хоста — синхронно и со снапшотом до.
Вывод. Маскировка под легитимный сайт работает ровно настолько, насколько выбранный «фасад» реально поддерживает ожидаемый протокольный профиль. Проверяйте dest объективно — TLS-версия плюс ALPN, — а не по принципу «сайт открывается». И не пытайтесь посадить два одинаковых листенера на один порт: конфликт транспортного уровня решается разведением, а не упорством.