وقتی در لاگ certificate دیده می‌شود و نود همان لحظه انتخاب می‌افتد، معمولاً نود سالم است و دست‌دهی TLS به‌خاطر ناهمخوانی نام شکست می‌خورد.

اول لاگ را بخوانید

Log Level را روی debug بگذارید، یک‌بار دوباره وصل شوید و همان خط را در صفحه Logs بخوانید. زنجیره نامعتبر، گواهی منقضی و نامی که با مقصد شما نمی‌خواند سه مسئله جدا با سه راه‌حل جدا هستند. روش خواندن این خط‌ها در رمزگشایی پیام‌های خطای رایج.

پیشنهاد همکاری لینک اشتراک را از کجا بیاوریم؟ سرویس همکار ما هنگام ثبت‌نام ۱ گیگابایت ترافیک پرسرعت هنگ‌کنگ رایگان می‌دهد. دریافت سرور پرسرعت

اول 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 چه باید باشد. سرویس درست پیکربندی‌شده به این کلید نیاز ندارد.
  • همه‌چیز تایم‌اوت می‌شود نه خطای گواهی: مسیر اشتباه است، در وقتی همه نودها تایم‌اوت می‌شوند.