Если в логе мелькает 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. Нормально настроенному сервису этот флаг не нужен.
- Всё уходит в таймаут, а не в ошибку сертификата - направление неверное, см. Когда все узлы в таймауте.