Если в логе мелькает certificate и узел умирает сразу после выбора, дело обычно не в узле: рукопожатие TLS падает из-за несовпадения имени.

Сначала прочитайте лог

Поставьте Log Level в debug, переподключитесь и прочитайте конкретную строку на странице Logs. Недоверенная цепочка, просроченный сертификат и имя, не совпадающее с тем, куда вы подключались, - три разные проблемы с тремя разными решениями. Как читать эти строки, разобрано в статье Разбор частых сообщений об ошибках.

Партнёрский материал Откуда взять ссылку на подписку? Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик. Получить быстрые серверы

Сначала SNI, потом проверка

За имя, объявляемое при рукопожатии, отвечают два поля:

proxies:
  - name: "example"
    type: trojan
    server: 1.2.3.4
    port: 443
    password: "xxxx"
    sni: node.example.com
    skip-cert-verify: false

У vmess и vless поверх ws или grpc это же поле называется servername. В нём должен стоять домен из сертификата, а не IP-адрес узла. Провайдеры очень часто забывают SNI в сгенерированном конфиге; достаточно вписать его, ничего не ослабляя. Расположение полей показано в статье Структура YAML-конфига.

Цена отключения проверки

skip-cert-verify: true означает «принимать сертификат независимо от того, кто его выдал и чьё имя на нём». Самостоятельно поднятому узлу с самоподписанным сертификатом это действительно нужно, но цена понятна: посредник предъявит свой самоподписанный сертификат и выдаст себя за ваш узел, а клиент промолчит.

  • Свой сервер с самоподписанным сертификатом - можно, но бесплатный сертификат Let's Encrypt снимает необходимость вовсе.
  • Провайдер просит включить - сначала спросите, какой должен быть SNI. Нормально настроенному сервису этот флаг не нужен.
  • Всё уходит в таймаут, а не в ошибку сертификата - направление неверное, см. Когда все узлы в таймауте.