Какую конфигурацию выбрать?

Вот здесь есть конфиг, я оттуда изначально начинал

Настроил клиент и сервер vless reality на sing-box, но почему-то если на клиенте задать любой буквенный tls.server_name, то соединение не устанавливается. А если пусто или ip, то устанавливается. Подскажите, что делаю не так и почему возникает проблема со sni?

Имя в конфиге и в сертификате должно быть одинаковое (либо можно отключить проверку серта allow_insecure)

В сертификате *.aaa.bbb, в sni aaa.bbb. При tls.insecure=true (клиент) тоже не соединяется. Самое смешное, что при тесте соединения клиент-сервер внутри туннеля та же проблема “reality verification failed“. В логе сервера такое:
INFO outbound/direct[t-dout]: outbound connection to aaa.bbb:443
+0600 2025-12-19 03:55:30 DEBUG dns: lookup domain aaa.bbb
+0600 2025-12-19 03:55:30 DEBUG dns: exchanged aaa.bbb NOERROR 138
+0600 2025-12-19 03:55:30 DEBUG dns: exchanged A aaa.bbb. 138 IN A
+0600 2025-12-19 03:55:30 DEBUG dns: exchanged A aaa.bbb. 138 IN A
+0600 2025-12-19 03:55:30 DEBUG dns: lookup succeed for aaa.bbb:
+0600 2025-12-19 03:55:30 INFO outbound/direct[t-dout]: outbound connection to aaa.bbb:443
+0600 2025-12-19 03:55:30 DEBUG dns: lookup domain aaa.bbb
+0600 2025-12-19 03:55:30 DEBUG dns: lookup succeed for aaa.bbb:
+0600 2025-12-19 03:55:30 INFO outbound/direct[t-dout]: outbound connection to aaa.bbb:443

Сколько не экспериментировал, у меня на паре клиент-сервер sing-box 1.12.12 и 1.12.13 reality работает только если в tls.server_name клиента пусто или ip. Как только там появляется хотя-бы одна буква, сразу “reality verification failed“. Интересно, это у всех так или только у меня? Не верится, что хоть у кого-то это работает не через опу… :roll_eyes:

Конфиг то покажешь? Или нам гадать на кофейной гуще?

Там особо смотреть-то нечего, все из доки Introduction - sing-box
Клиент:
“tls”: {
“enabled”: true,
“server_name”: “aaa.bbb”,
“insecure”: false,
“utls”: {
“enabled”: true,
},
“reality”: {
“enabled”: true,
“public_key”: “—”,
“short_id”: “—”
}
}

Сервер:
“tls”: {
“enabled”: true,
“reality”: {
“enabled”: true,
“handshake”: {
“domain_resolver”: “rdns”,
“server”: “aaa.bbb”,
“server_port”: 443
},
“private_key”: “—”,
“short_id”: [“—”],
“max_time_difference”: “3m”
}
}

fingerprint не указываете? Где параметр flow? type? Или вы кусочек конфига выложили?

Фингерпринты перебирал, пробовал с xtls-rprx-vision и без, мультиплексоры разные, транспорт, - результат один. Тут-бы понять что может влиять на “reality verification failed“, т.е. если правильно понимаю на успешность tls handshake, вроде привел что в логику вписывается. Но дока у афтара скудная, может что и упустил. У меня пока не получается выстроить полную логическую цепочку.

Влиять может либо несовпадение shortid, либо пары ключей (public/private), либо UUID.

Но тогда наверное и с пустым sni не соединялось-бы, если правильно понимаю?

Вы не путаете параметры server и server_name?

Где именно? Какую конфигурацию выбрать? - #47 by _sh

Конфиг то неполный, параметр server в клиенте присутствует? server - это адрес VPS(домен или IP), server_name это домен, под который маскировка (sni).

Покажи нормальный инбаунд сервера соблюдая форматирование, а не вот этот огрызок непонятный!
И зачем там domain_resolver тоже как-то не особо ясно.

UPD
У меня на серверной стороне за всё что касается VLESS отвечает Xray. Sing-Box тоже есть, но для других вещей типа hy2 и tuic. Но даже по образцу Xray если накидать инбаунд в синге, то будет как-то так:

Спойлер
{
  "inbounds": [
    {
      "type": "vless",
      "tag": "vless-in",
      "listen": "0.0.0.0",
      "listen_port": 443,
      "users": [
        {
          "name": "admin",
          "uuid": "sing-box generate uuid",
          "flow": "xtls-rprx-vision"
        }
      ],
      "tls": {
        "enabled": true,
        "server_name": "www.google.com",
        "alpn": ["h2", "http/1.1"],
        "reality": {
          "enabled": true,
          "handshake": {
            "server": "www.google.com",
            "server_port": 443,
          },
          "private_key": "sing-box generate reality-keypair",
          "short_id": ["sing-box generate rand --hex 8"]
        }
      }
    }
  ]
}

А что тут неясного-то?
WARN[0000] missing route.default_domain_resolver or domain_resolver in dial fields is deprecated in sing-box 1.12.0 and will be removed in sing-box 1.14.0, checkout documentation for migration: https://sing-box.sagernet.org/migration/#migrate-outbound-dns-rule-items-to-domain-resolver

Xray - это уже другая история… Начинаю предполагать, что проблемка позаковыристее, а hy2 у меня тоже работает. :slightly_smiling_face:

Разобрался, вопрос снимается. Благодарю всех кто откликнулся. :slightly_smiling_face:

Написал бы, в чем было дело, может кому-нибудь пригодится

Да вроде никто ничего не скрывает: сравните то, что выложил я с тем, что выложил armdyn и шлепните себя мухобойкой за лень… :grinning_face:

Ты ничего так и не выложил, во-первых. Во-вторых, ты общаешься с таким гонором, что… промолчу.