
به اشتراک بگذارید

به اشتراک بگذارید
موارد فنی | بلاگ وبداده
SNI چیست؟ نقش Server Name Indication در میزبانی چند سایت با SSL

| ویژگی | IP اختصاصی برای SSL | SNI (IP مشترک) |
|---|---|---|
| تعداد سایت SSL روی هر IP | فقط یک سایت | دهها سایت با گواهیهای مختلف |
| هزینه | بالاتر (اجاره IP جداگانه) | بدون هزینه IP اضافی |
| مناسبِ | موارد خاص و قدیمی | تقریباً همه سایتهای امروزی |
| پشتیبانی مرورگر | همه مرورگرها | تقریباً همه؛ بهجز نمونههای بسیار قدیمی |
| حریمخصوصی نام دامنه | اعلام نام لازم نیست | نام دامنه آشکار ارسال میشود |
SNI مخفف Server Name Indication است؛ افزونهای از پروتکل TLS که به کلاینت اجازه میدهد همان ابتدای دستدهی امن، نام دامنه مقصد را اعلام کند تا سرور بتواند گواهی SSL درستِ همان دامنه را انتخاب و ارائه دهد.
چون دستدهی TLS پیش از ارسال هدر Host انجام میشود، سرور در لحظه ارائه گواهی نمیدانست کلاینت کدام دامنه را میخواهد. بنابراین روی هر IP فقط یک گواهی قابل ارائه بود و هر سایت امنِ دیگر به IP جداگانه نیاز داشت.
تقریباً بله. همه مرورگرهای مدرن دسکتاپ و موبایل از SNI پشتیبانی میکنند. تنها استثناهای شناختهشده نسخههای Internet Explorer روی ویندوز XP و مرورگر پیشفرض اندروید قبل از نسخه 3.0 هستند که سهم بازارشان امروز عملاً صفر است.
خیر، SNI خود رمزنگاری ترافیک را تضعیف نمیکند و محتوای ارتباط همچنان امن است. تنها نکته این است که نام دامنه مقصد در SNI رمز نمیشود و قابلمشاهده برای شنونده مسیر است؛ استاندارد جدید ECH برای رفع همین نکته ساخته شده است.
SNI نام دامنه را بهصورت آشکار اعلام میکند. ECH یا Encrypted Client Hello نسخه پیشرفتهتری است که کل پیام ClientHello، از جمله نام دامنه، را رمزنگاری میکند تا حریم خصوصی بهتر حفظ شود. ECH در نسخههای جدید Chrome و Firefox پشتیبانی میشود اما هنوز فراگیر نیست.
معمولاً خیر. SNI در سمت مرورگر و سرور بهصورت خودکار کار میکند و روی هاستهای مدرن بهصورت پیشفرض فعال است. کافی است گواهی SSL دامنهتان (مثلاً Let’s Encrypt) نصب باشد؛ بقیه کار را SNI پشتصحنه انجام میدهد.
بله. دقیقاً به لطف SNI، هاستهای اشتراکی مدرن میتوانند روی یک IP مشترک برای هر دامنه گواهی رایگان Let’s Encrypt نصب کنند. در سیپنل این کار اغلب با ابزار AutoSSL بهصورت خودکار انجام میشود.
در بیشتر موارد امروزی نیازی نیست. IP اختصاصی فقط در شرایط خاص مثل سازگاری با تجهیزات یا کلاینتهای بسیار قدیمی، برخی الزامات فنی نادر یا نیازهای ویژه سرویس معنا پیدا میکند. برای سایتهای معمول، SNI کافی است.
SNI بهطور مستقیم اثر منفی بر سئو یا سرعت ندارد. برعکس، چون داشتن HTTPS را ارزان و ساده کرده، به فراگیرشدن SSL کمک کرده است؛ و HTTPS خود یک عامل مثبت در رتبهبندی و اعتماد کاربر است.