What happened?
При деплое relay с флагом --sni клиентские конфиги для XHTTP-через-relay генерируются с переданным SNI вместо IP exit-сервера. Из-за этого XHTTP-трафик роутится на Reality inbound (который его отклоняет)
вместо nginx_https → XHTTP path.
Как воспроизвести:
meridian relay deploy <IP_RELAY> <IP_SERVER> --sni yandex.com
Сгенерированный конфиг (сломано):
vless://...@<IP_RELAY>:443?security=tls&sni=yandex.com&type=xhttp&path=/vb4tvmpfkd984t51
Ожидается:
vless://...@<IP_RELAY>:443?security=tls&sni=<IP_SERVER>&type=xhttp&path=/vb4tvmpfkd984t51
Примечание: Оба relay в тестовой конфигурации деплоились с явным --sni, поэтому неизвестно, воспроизводится ли баг без этого флага (когда Meridian сканирует SNI самостоятельно). Стоит проверить.
Причина: XHTTP не имеет relay-specific inbound — весь XHTTP-трафик обрабатывается через nginx_https (SNI = IP exit-сервера). Relay — чистый TCP-форвардер, поэтому SNI в XHTTP-конфиге всегда должен указывать на exit-сервер независимо от camouflage target relay-а.
Воркэраунд: Вручную заменить sni= → sni=<IP_SERVER> в файлах sub.txt для XHTTP relay записей. Перезаписывается при следующем meridian relay deploy или meridian client add.
Setup mode
Standalone (no domain)
When does it fail?
After setup — connection doesn't work
Doctor output
Error output
Server OS
Ubuntu 24.04
Local OS
macos tahoe
What happened?
При деплое relay с флагом --sni клиентские конфиги для XHTTP-через-relay генерируются с переданным SNI вместо IP exit-сервера. Из-за этого XHTTP-трафик роутится на Reality inbound (который его отклоняет)
вместо nginx_https → XHTTP path.
Как воспроизвести:
meridian relay deploy <IP_RELAY> <IP_SERVER> --sni yandex.com
Сгенерированный конфиг (сломано):
vless://...@<IP_RELAY>:443?security=tls&sni=yandex.com&type=xhttp&path=/vb4tvmpfkd984t51
Ожидается:
vless://...@<IP_RELAY>:443?security=tls&sni=<IP_SERVER>&type=xhttp&path=/vb4tvmpfkd984t51
Примечание: Оба relay в тестовой конфигурации деплоились с явным --sni, поэтому неизвестно, воспроизводится ли баг без этого флага (когда Meridian сканирует SNI самостоятельно). Стоит проверить.
Причина: XHTTP не имеет relay-specific inbound — весь XHTTP-трафик обрабатывается через nginx_https (SNI = IP exit-сервера). Relay — чистый TCP-форвардер, поэтому SNI в XHTTP-конфиге всегда должен указывать на exit-сервер независимо от camouflage target relay-а.
Воркэраунд: Вручную заменить sni= → sni=<IP_SERVER> в файлах sub.txt для XHTTP relay записей. Перезаписывается при следующем meridian relay deploy или meridian client add.
Setup mode
Standalone (no domain)
When does it fail?
After setup — connection doesn't work
Doctor output
Error output
Server OS
Ubuntu 24.04
Local OS
macos tahoe