موارد فنی | بلاگ وب‌داده

SNI چیست؟ نقش Server Name Indication در میزبانی چند سایت با SSL

زمانی هر سایت SSL‌دار به یک IP اختصاصی نیاز داشت و این یعنی هزینه بیشتر. فناوری SNI این محدودیت را برداشت و امروز ده‌ها سایت با گواهی‌های متفاوت روی یک IP کنار هم کار می‌کنند. در این راهنما ساده و دقیق توضیح می‌دهیم.
SNI چیست؟ به‌زبان ساده، SNI یا Server Name Indication افزونه‌ای کوچک از پروتکل TLS است که به مرورگر اجازه می‌دهد همان ابتدای ارتباط امن، نام دامنه مقصد را به سرور اعلام کند؛ در نتیجه سرور می‌تواند گواهی SSL درست را انتخاب کند و چندین سایت با گواهی‌های مختلف روی یک IP مشترک میزبانی شوند. این مقاله ابتدا مشکلِ پیش از SNI را توضیح می‌دهد، بعد نحوه عملکرد فنی آن را ساده می‌کند، مزایا و محدودیت‌های واقعی (از جمله مسئله حریم خصوصی) را صادقانه می‌گوید و نشان می‌دهد چرا SSL رایگان روی هاست اشتراکی مدیون همین فناوری است.
  • کار اصلی SNI: اعلام نام دامنه در پیام ClientHello تا سرور گواهی SSL مناسب همان دامنه را ارائه دهد.
  • مشکلی که حل کرد: پیش از SNI هر سایت HTTPS به یک IP اختصاصی نیاز داشت؛ حالا ده‌ها سایت روی یک IP کنار هم کار می‌کنند.
  • نتیجه عملی: ارزان‌تر شدن SSL و فراگیر شدن گواهی رایگان Let’s Encrypt روی هاست اشتراکی.
  • استانداردِ مرجع: در RFC 6066 تعریف شده و تقریباً همه مرورگرهای امروزی از آن پشتیبانی می‌کنند.
  • محدودیت مهم: نام دامنه در SNI رمزنگاری نمی‌شود و برای رفع این مسئله استاندارد جدید ECH ساخته شده است.

در یک جمله

SNI همان فناوری پشت‌صحنه‌ای است که باعث می‌شود بتوانید روی یک هاست اشتراکی با IP مشترک، گواهی SSL اختصاصی دامنه خودتان را داشته باشید؛ بدون آن، هر سایت امن نیازمند یک IP جداگانه و پرهزینه بود.
حتماً این مقاله را باز کرده‌اید چون در حوزه هاستینگ فعال هستید و بارها نام SNI را شنیده‌اید، اما می‌خواهید دقیق بدانید این فناوری چیست و چرا اهمیت دارد. در ادامه به‌جای تعریف‌های خشک، از همان مشکلی شروع می‌کنیم که SNI برای حلش ساخته شد تا منطق پشت آن کاملاً جا بیفتد.

SNI چیست و چه مشکلی را حل کرد؟

برای درک درست SNI، باید اول مشکلی را ببینیم که سال‌ها گریبان میزبانی وب را گرفته بود. در پروتکل HTTP معمولی، چند سایت می‌توانند روی یک IP مشترک میزبانی شوند؛ چون مرورگر نام دامنه را در «هدر Host» می‌فرستد و سرور می‌فهمد کدام سایت را می‌خواهید. این روش به «میزبانی مجازی مبتنی بر نام» معروف است و پایه هاست اشتراکی است.
اما وقتی پای HTTPS و گواهی SSL وسط می‌آمد، یک مشکل اساسی پیش می‌آمد: دست‌دهی امن TLS پیش از ارسال هدر Host انجام می‌شود. یعنی سرور در لحظه‌ای که باید گواهی SSL را ارائه دهد، هنوز نمی‌داند مرورگر کدام دامنه را می‌خواهد. نتیجه این بود که روی هر IP فقط یک سایت می‌توانست گواهی SSL داشته باشد و هر سایت امنِ دیگر به یک IP اختصاصیِ جداگانه نیاز داشت.
اینجاست که Server Name Indication وارد می‌شود. SNI افزونه‌ای از پروتکل TLS است که اجازه می‌دهد مرورگر همان ابتدای دست‌دهی، نام دامنه‌ای را که می‌خواهد اعلام کند. با داشتن این اطلاعات، سرور می‌تواند از میان چند گواهی، گواهی درستِ همان دامنه را انتخاب و ارسال کند. به همین سادگی، محدودیت «یک IP برای هر گواهی» برداشته شد.

تشبیه ساده

بدون SNI مثل این است که به ساختمانی با ده‌ها واحد زنگ بزنید اما نگهبان نداند سراغ کدام واحد را گرفته‌اید، پس فقط می‌تواند یک کلید تحویل دهد. SNI مثل این است که از همان ابتدا شماره واحد را بگویید؛ حالا نگهبان دقیقاً کلید همان واحد (گواهی همان دامنه) را به شما می‌دهد.
ChatGPT Image Aug 16 2026 09 19 28 AM 1 SNI چیست؟ نقش Server Name Indication در SSL 2026

نحوه عملکرد فنی Server Name Indication چگونه است؟

عملکرد SNI ساده‌تر از چیزی است که به نظر می‌رسد. کل ماجرا در همان نخستین گام دست‌دهی TLS اتفاق می‌افتد. مراحل را قدم‌به‌قدم ببینیم:

۱) مرورگر نام دامنه را در ClientHello می‌فرستد

وقتی به یک سایت HTTPS وصل می‌شوید، مرورگر یک پیام آغازین به نام ClientHello می‌فرستد. اگر مرورگر از SNI پشتیبانی کند (که تقریباً همه می‌کنند)، نام دامنه مقصد را در فیلدی به نام server_name داخل همین پیام قرار می‌دهد.

۲) سرور گواهی درست را انتخاب می‌کند

سرور با خواندن مقدار server_name می‌فهمد کلاینت کدام دامنه را می‌خواهد. سپس از میان چند گواهی SSL که روی همان IP پیکربندی شده‌اند، گواهی متناظر با آن دامنه را برمی‌گزیند و در ادامه دست‌دهی به مرورگر ارائه می‌دهد.

۳) دست‌دهی امن کامل می‌شود

پس از اینکه گواهی درست ارائه و تایید شد، کلید نشست رمزنگاری مبادله می‌شود و ارتباط امن برقرار می‌گردد. از این لحظه به بعد، باقی ترافیک (از جمله هدر Host و محتوای صفحه) به‌صورت رمزشده رد و بدل می‌شود.

یک محدودیت مهم در حریم خصوصی

نکته‌ای که اغلب نادیده گرفته می‌شود: فیلد server_name در پیام ClientHello به‌صورت متن آشکار (رمزنشده) ارسال می‌شود. یعنی هرچند محتوای ترافیک شما رمز است، یک شنونده در مسیر شبکه می‌تواند ببیند به کدام دامنه وصل شده‌اید. این محدودیت ذاتی SNI است و راه‌حل تازه آن، استاندارد ECH است که در بخش بعد توضیح می‌دهیم.
برای مرجع‌بودن این توضیحات، خود استاندارد SNI و فیلد server_name در سند رسمی RFC 6066 تعریف شده‌اند که در بخش منابع به آن لینک داده‌ایم.

مقایسه IP اختصاصی و SNI برای SSL

پیش از SNI تنها راهِ داشتن SSL، گرفتن یک IP اختصاصی بود. امروز SNI گزینه پیش‌فرض است. این جدول دو رویکرد را کنار هم می‌گذارد:
ویژگیIP اختصاصی برای SSLSNI (IP مشترک)
تعداد سایت SSL روی هر IPفقط یک سایتده‌ها سایت با گواهی‌های مختلف
هزینهبالاتر (اجاره IP جداگانه)بدون هزینه IP اضافی
مناسبِموارد خاص و قدیمیتقریباً همه سایت‌های امروزی
پشتیبانی مرورگرهمه مرورگرهاتقریباً همه؛ به‌جز نمونه‌های بسیار قدیمی
حریم‌خصوصی نام دامنهاعلام نام لازم نیستنام دامنه آشکار ارسال می‌شود

نتیجه مقایسه

برای تقریباً همه سایت‌های امروزی، SNI انتخاب درست، ارزان و استاندارد است. IP اختصاصی فقط در موارد خاص (مثل سازگاری با تجهیزات بسیار قدیمی یا برخی الزامات فنی نادر) معنا پیدا می‌کند.

مزایای استفاده از SNI در میزبانی وب

چرا SNI تا این حد روی صنعت هاستینگ اثر گذاشت؟ مهم‌ترین مزیت‌ها:
  • صرفه‌جویی در آدرس‌های IPv4: آدرس‌های IPv4 کمیاب و گران‌اند؛ SNI با اشتراک‌گذاری IP میان چند سایت، فشار روی این منبع محدود را کم کرد.
  • ارزان‌تر شدن SSL: حذف نیاز به IP اختصاصی یعنی کاهش هزینه هاستینگ برای کاربر نهایی.
  • فراگیری SSL رایگان: گواهی‌های رایگان مثل Let’s Encrypt دقیقاً به‌خاطر SNI به‌راحتی روی هاست اشتراکی نصب می‌شوند.
  • سادگی مدیریت: ارائه‌دهنده هاست می‌تواند صدها دامنه را روی تعداد کمی IP و با گواهی‌های مجزا مدیریت کند.
اگر می‌خواهید بدانید چرا آدرس‌های IPv4 این‌قدر محدودند و IPv6 چه تفاوتی دارد، مقاله IPv6 چیست همین موضوع را کامل توضیح می‌دهد.

محدودیت‌ها و سازگاری SNI با مرورگرها

صادقانه بگوییم، SNI هم بی‌عیب نیست. مهم‌ترین محدودیت، همان مسئله حریم خصوصی است: نام دامنه مقصد به‌صورت آشکار ارسال می‌شود و قابل‌مشاهده برای شنونده مسیر است. برای حل این مشکل، ابتدا ESNI و سپس استاندارد بالغ‌ترِ ECH (Encrypted Client Hello) معرفی شد که کل پیام ClientHello را رمز می‌کند. ECH به‌طور پیش‌فرض در نسخه‌های جدید مرورگرهایی مثل Chrome (از نسخه 117 به بعد) و Firefox (از نسخه 118 به بعد) پشتیبانی می‌شود، هرچند هنوز فراگیر نشده است.
محدودیت دوم، سازگاری با کلاینت‌های بسیار قدیمی است. تقریباً همه مرورگرهای دهه اخیر از SNI پشتیبانی می‌کنند؛ تنها استثناهای شناخته‌شده، نسخه‌های Internet Explorer روی ویندوز XP و مرورگر پیش‌فرض اندروید قبل از نسخه 3.0 هستند که سهم بازارشان امروز عملاً صفر است. به همین دلیل، در عمل نگرانی بابت سازگاری SNI تقریباً منتفی است.

از منابع معتبر

بر اساس سند رسمی RFC 6066 از IETF، افزونه server_name به کلاینت اجازه می‌دهد نام میزبان مقصد را در ClientHello اعلام کند تا سرور گواهی مناسب را ارائه دهد. مرجع Wikipedia هم تاکید می‌کند که SNI امکان ارائه چند گواهی روی یک IP و پورت مشترک را فراهم می‌کند و نام دامنه در آن رمزنگاری نمی‌شود.

نقش SNI در کاهش هزینه‌های هاستینگ در وب‌داده

همه چیزهایی که گفتیم در عمل به یک نتیجه ساده می‌رسد: شما می‌توانید روی یک هاست اشتراکی با IP مشترک، گواهی SSL اختصاصی دامنه خودتان را بدون هزینه IP جداگانه داشته باشید. ما در وب‌داده دقیقاً از همین فناوری استفاده می‌کنیم تا SSL را برای همه ساده و کم‌هزینه کنیم:
✅ نصب آسان گواهی رایگان Let’s Encrypt روی هاست اشتراکی به کمک SNI و AutoSSL در سی‌پنل.
✅ زیرساخت نسل جدید HPE (Gen11 و Gen10) برای پایداری و سرعت بالا.
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن.
✅ پشتیبانی فنی ۲۴ ساعته برای راه‌اندازی و رفع اشکال SSL و DNS.
اگر به دنبال میزبانی امن و مقرون‌به‌صرفه هستید، می‌توانید هاست سی پنل وب‌داده با SSL رایگان را ببینید. و اگر پروژه‌تان به دلایل فنی واقعاً به یک IP اختصاصی نیاز دارد، سرویس اجاره IP اختصاصی هم در دسترس است.

پرسش‌های پرتکرار درباره SNI

جمع‌بندی و قدم بعدی شما

دیدیم که Server Name Indication افزونه‌ای ساده اما تاثیرگذار از پروتکل TLS است که به کلاینت اجازه می‌دهد نام دامنه مقصد را همان ابتدای دست‌دهی اعلام کند. همین قابلیت کوچک، محدودیت «یک IP برای هر گواهی» را برداشت و باعث شد ده‌ها سایت با گواهی‌های مختلف روی یک IP مشترک کار کنند. نتیجه، ارزان‌تر شدن SSL، صرفه‌جویی در آدرس‌های کمیاب IPv4 و فراگیر شدن گواهی رایگان روی هاست اشتراکی بود. در کنار این مزایا، محدودیتِ آشکاربودن نام دامنه را هم دیدیم که استاندارد تازه ECH در پی رفع آن است.

جمع‌بندی سریع

✅ SNI نام دامنه را در ClientHello اعلام می‌کند تا گواهی درست انتخاب شود.
✅ به لطف آن، چند سایت SSL روی یک IP مشترک ممکن شد.
✅ هزینه SSL کاهش یافت و گواهی رایگان فراگیر شد.
✅ تنها محدودیت جدی، آشکاربودن نام دامنه است که ECH آن را حل می‌کند.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
وب داده
وب داده

جدید ترین مطالب آموزشی و کاربردی را در اینجا بخوانید !
ما با بهره‌گیری از دانش روز و تجربه متخصصان حوزه فناوری، مجموعه‌ای از آموزش‌های کاربردی و مقالات تخصصی را گردآوری کرده‌ایم که هر یک، پاسخی دقیق به پرسش‌های شماست. ؛ از مفاهیم پایه تا پیچیده‌ترین تکنیک‌های حرفه‌ای. اینجا، دانش با زبانی ساده اما عمیق در اختیار شما قرار می‌گیرد.

مقاله‌ها: 11
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *