واقعاً هیچچیز مهمتر از امنیت نیست! هرچقدر از مزایای سریع بودن بگوییم، به اهمیت عملکرد بهینه اشاره کنیم، هزاران مقاله راجعبه طراحی واکنشگرا و تأثیرگذاریاش بنویسیم و …، باز هم هیچکدام اندازۀ ایمن بودن در فضای اینترنت ضروری نیستند.
این مقاله راجعبه بخشی کوچک ولی پراهمیت از یک سیستم امنیتی، به نام SNI است. میخواهیم ببینیم SNIi چیست و تمام جوانب مربوط به آن را زیر ذرهبین ببریم. از طرز کارش گرفته تا چگونگی فعالسازی و ساخت sni را در این مقاله یاد خواهید گرفت.
طبیعتاً اول باید ببینیم اصلاً با چه چیزی طرف هستیم تا مقدمه برای پرداختن بیشتر به آن فراهم باشد.
پس بیایید شروع کنیم.
SNI چیست و چه وظیفهای دارد؟
SNI مخفف Server Name Indicator است. برای اینکه چیستی آن را بهتر درک کنید و بفهمید چه وظیفهای بر عهده دارد، باید مثال بزنیم و مقدمه بچینیم:
یک خانۀ ویلایی (تکواحدی) و یک آپارتمان (۱۰ واحدی) را در نظر بگیرید. اگر قرار باشد برای فردی که ساکن خانۀ ویلایی است یک بستۀ پستی بفرستیم، فقط کافی است در آدرس، علاوهبر شهر، محله و خیابان، پلاک آن خانه را بنویسیم؛ چون همانطور که گفتیم، خانۀ ویلایی تکواحدی است و یک نفر یا نهایتاً یک خانوار در آن سکونت دارند.
ولی اگر قرار باشد بسته را به دست فردی برسانیم که در آپارتمان ۱۰ واحدی زندگی میکند، علاوهبر پلاک ساختمان، باید شمارۀ واحد را هم مشخص کنیم.
این را گوشۀ ذهنتان داشته باشید و با ما بمانید تا خیلی خوب متوجه شوید که sni چیست!
تأمین امنیت، یک اصل بسیار مهم در دنیای اینترنت است؛ حواستان نباشد، خطرات از ناکجا ظاهر میشوند و خسارات جبرانناپذیری وارد میکنند؛ به همین خاطر، کلی استاندارد، گواهینامه و پروتکل امنیتی ایجاد شدهاند تا هم کاربران و هم سرورهایی که وجود اینترنت را ممکن کردهاند، با امنیت کامل به کارشان ادامه دهند.
یکی از مهمترین و تأثیرگذارترین این استانداردها، گواهینامه SSL (یا TLS که نسخۀ پیشرفتهتر آن است) نام دارد. چند خط جلوتر، این گواهی را هم تعریف میکنیم.
حالا برگردیم به مثالی که بالاتر از خانۀ ویلایی و آپارتمان زدیم. سرورهای بسیاری در اینترنت، مثل آپارتمان داستان ما هستند؛ سرورهایی که از چندین وبسایت و نام دامنه میزبانی میکنند.
بارزترین مثالی که میتوان برای این نوع سرورها زد، هاست اشتراکی است که میتوانید با خواندن مقالۀ هاست اشتراکی چیست و به درد چه سایتهایی نمیخورد، هرآنچه لازم است راجعبه آن بدانید را یاد بگیرید.
وقتی یک سرور، میزبان چندین نام دامنه باشد، آدرس آیپی بهتنهایی نمیتواند مشخص کند که کاربر قصد بازدید از کدام وبسایت روی آن سرور را دارد؛ چون آیپی همۀ سایتها یکسان است!
در نتیجه، سرور ممکن است در پاسخ درخواست کاربر برای بازدید از صفحۀ مد نظرش، یک گواهینامۀ SSL اشتباه را به او نشان بدهد و در نهایت، اتصال HTTPS از بین برود یا حتی از اول شکل نگیرد. درست مثل زمانی که آن بستۀ پستی به آدرس اشتباه برسد و گیرندۀ اصلی آن را امضا نکند!
SNI یک افزونه برای گواهینامۀ SSL یا TLS است که این مشکل را برطرف میکند. از دیدگاه فنی، SNI با قرارگیری در TLS/SSL handshake، به کاربر کمک میکند تا با گواهی SSL همان سایتی که قصد بازدید از آن را دارد ارتباط برقرار کند.
ولی اگر بخواهیم به زبان ساده بگوییم، این افزونه امکان برقراری ارتباط ایمن بین مرورگر بازدیدکننده با وبسایت مد نظرش را فراهم میکند؛ حتی اگر آن سایت روی سروری قرار داشته باشد که بهصورت همزمان از چند وبسایت با آدرس آیپی یکسان میزبانی کند.
افزونه sni مانع از رخداد خطایی میشود که نامش common name mismatch error است. وقتی کاربری میخواهد از یک وبسایت بازدید کند و بعد از وارد کردن آدرس آیپی درست، نام درجشده روی گواهینامۀ SSL با نام وبسایتی که قصد ورود به آن را دارد همخوانی نمیکند، این خطا خودش را نشان میدهد.
SNI یکی از بخشهای اصلی SSL و TLS نیست و همانطور که گفتیم، افزونهای است که از سال ۲۰۰۳ به این گواهینامهها افزوده شد. بهجز برخی از مرورگرها و سیستمعاملهای قدیمی، تقریباً تمام وبسرورها، مرورگرها و سیستمعاملها از آن کاملاً پشتیبانی میکنند.
بارها از SSL نام بردیم، اگر موافق باشید، طی یک بخش کوتاه کلیت آن را تعریف کنیم.
💡 مروری بر تعریف sslردوبدل شدن دادهها بین وبسایتها و مرورگر کاربران، توسط پروتکلی با نام HTTP انجام میشود که ذاتاً امنیت بالایی ندارد! به همین خاطر، نسخۀ ایمن این پروتکل، یعنی HTTPS مدتها است که جایگزین شده و حالا اکثریت قاطع وبسایتها از آن استفاده میکنند. برای کسب اطلاعات بیشتر راجعبه این پروتکل، مقالۀ پروتکل https چیست و چه فرقی با http دارد را بخوانید. آن s که اضافه میشود، از کلمۀ Secure به معنای ایمن میآید و این گواهینامۀ SSL است که http را به https تبدیل میکند. این گواهینامه با رمزنگاری دادههای انتقالی و افزودن لایههای امنیتی، مانع از آن میشود که در بین راه، افرادی که نباید به آنها دسترسی پیدا نکنند! همانطور که گفتیم، TLS نسخۀ پیشرفتهتر SSL است و الان تقریباً همهجا از این نسخۀ بهروزتر استفاده میشود؛ منتهی همچنان SSL نامی است که در بیشتر منابع برای این گواهینامه به کار گرفته میشود. توصیه میکنیم مقالۀ گواهینامه SSL چیست و چه کاربردی دارد را با هدف شناخت بهتر و بیشتر این نوع گواهینامهها بخوانید. |
برگردیم سراغ بحث خودمان، یعنی ارائۀ یک پاسخ جامع به سؤال sni چیست. بیایید ببینیم چه لزومی دارد از این افزونه روی SSL استفاده کنیم.
چرا باید از SNI استفاده کنیم؟
برای پاسخ به این سؤال، اول باید نگاه کوتاهی به طرز کار SSL داشته باشیم.
قبل از اینکه دادهای بین مرورگر کاربر و سرور سایت ردوبدل شود، فرایندی به نام TLS/SSL handshake رخ میدهد؛ خیلی ساده بگوییم، در اینجا، سرور هویت خودش را به برای مرورگر اثبات میکند؛ بهمحض اینکه مروگر درستی هویت را تشخیص دهد، ارتباط برقرار میشود و دو طرف شروع به تبادل اطلاعات میکنند.
همانطور که بالاتر هم گفتیم، مشکل زمانی رخ میدهد که چندین وبسایت روی یک سرور با یک آدرس آیپی میزبانی میشوند.
اینجا از شما دعوت میکنیم مقالۀ آی پی چیست را بخوانید تا با دو ورژن آن یعنی IPv4 و IPv6 کاملاً آشنا شوید.
تعداد دستگاههایی که باید آیپی داشته باشند، از تعداد آیپیهای ورژن چهارم یا IPv4 بیشتر شده است و به همین خاطر IPv6 به وجود آمد؛ منتهی ورژن جدید هنوز کاملاً جا نیفتاده و آیپی اصلی همان IPv4 است که گفتیم از نظر تعداد با محدودیت بسیار شدیدی مواجه شده است.
خلاصه کنیم، برای هر سایت که روی یک سرور واحد میزبانی میشود، نمیتوانیم آیپی جداگانه داشته باشیم و ناچاریم برای همۀ آنها از یک آدرس IP واحد استفاده کنیم.
در نتیجۀ این موضوع، وقتی فرایند TLS/SSL handshake از جانب مرورگر کاربر آغاز میشود، مشخص نیست که هدف برقراری ارتباط با کدامیک از وبسایتهای روی آن سرور است! در بیشتر مواقع، پاسخ از یک وبسایت دیگر و طبیعتاً گواهی SSL اشتباه به مرورگر بازدیدکننده برگردانده میشود و ارتباطی هم شکل نخواهد گرفت!
بالاتر هم گفتیم که SNI یا Server Name Indicator برای رفع همین مشکل ساخته شد. با کمک این افزونه، از همان ابتدای فرایند handshake مشخص میشود که مرورگر میخواهد به کدام وبسایت درخواست بازدید بفرستد و مشکلی پیش نمیآید.
در مجموع، دلایل زیر، استفاده از این افزونه یا بهتر است بگوییم تکنولوژی sni را توجیه میکنند:
- کار صاحبان و ادمینهای سایتها برای مدیریت گواهینامههای SSL آسانتر میشود؛ چون نیازی نیست برای هر سایتی که به رمزنگاری این گواهی احتیاج دارد، آدرس آیپی جداگانهای اختصاص دهند؛
- سرورها میتوانند از چندین گواهی SSL برای چندین وبسایت که همه یک آدرس آیپی واحد دارند، استفاده کنند؛
علاوهبر اینها، SNI بهخاطر ویژگیهایی که دارد، تأثیر مثبتی روی افزایش امنیت هم میگذارد. جلوتر بیشتر راجعبه کاربرد sni و مزایای آن صحبت میکنیم.
موافقید طرز کار این افزونه کارراهانداز را بررسی کنیم؟
🧩 پیشنهاد خواندنی: تفاوت VPN و VPS در چیست و هر کدام چه کابردهایی دارند؟ |
تکنولوژی SNI چطور کار میکند؟ (سازوکار sni)
فهمیدیم که SNI کمک میکند مرورگر درخواستش را دقیقاً برای وبسایتی بفرستد که قصد بازدید از آن را دارد. این بخش را برای آن نوشتیم که بفهمیم چطور این کار انجام میشود.
اول از همه این را بگوییم که اگر SSL در کار نباشد، مشکلی هم در کار نیست! حتی اگر هزاران وبسایت هم آدرس آیپی یکسان داشته باشند، باز هم ارتباط ناامن از طریق HTTP بدون مشکل برقرار میشود و از همان ابتدا مشخص است که مروگر میخواهد درخواستش را به کدام وبسایت بفرستد!
دلیل هم این است که HTTP وقتی درخواست بازدید از یک وبسایت را دریافت میکند، host name را در هدر میبیند.
ولی وقتی SSL وارد عمل میشود، handshake قبل از اینکه مرورگر هرگونه اطلاعاتی بفرستد شروع خواهد شد؛ همان تبادل اطلاعاتی که فقط به بررسی هویت طرفین میپردازد قبل از آن هیچ دادهای مربوط به درخواست و پاسخ ردوبدل نمیشود.
به خاطر همین، SNI ورود میکند و مطمئن میشود که host name یا نام دامنۀ سایت، قبل از تأیید درستی گواهی SSL بین مرورگر کاربر و سرور میزبان وبسایت ردوبدل خواهد شد.
چند بار گفتیم که SNI یک افزونۀ SSL یا TLS است. پروتکل رمزنگاری، بخشی از کلیت پروتکل TCP/IP است. در نتیجه، SSL با رمزنگاری دادهها، TCP را گسترش میدهد. ضمناً فهمیدیم این گواهینامه با افزودن یک لایۀ امنیتی، HTTP را به HTTPS تبدیل میکند.
وقتی TLS با SNI به کار گرفته میشود، handshake شامل یک فیلد دیگر در پروتکل منیتی خواهد شد.
در پیام Client Hello (اولین مرحله از هندشیک) یک فیلد تحت عنوان ServerName دیده میشود که پر کردن آن اختیاری است! کاربر نام سایتی که میخواهد واردش بشود را در آن وارد میکند و به این ترتیب، همان سایت هم پاسخ کاربر را میدهد و ارتباط ایمن شکل میگیرد.
گفتیم SNI مخفف Server Name Indicator است و بدنیست رابطۀ بین SNI و Server Name را هم زیر ذرهبین ببریم.
🧩 پیشنهاد خواندنی: سرور چیست؟ آشنایی با مفهوم و انواع سرور (به زبان ساده) |
چه ارتباطی بین SNI و server name وجود دارد؟
به بیان خیلی ساده، منظور از Server Name نام یک کامپیوتر است. در وبسرورها، این نام برای کاربران نهایی نمایش داده نمیشود؛ مگراینکه آن سرور فقط میزبان یک نام دامنه باشد؛ در چنین شرایطی، server name همان نام دامنه است.
با اینکه معنای SNI طوری است که شاید فکر کنید server name را شناسایی میکند، باید بگوییم هدف از ساخت sni این بود که بتواند کار تشخیص host name یا همان نام دامنه را تسهیل کند. برای پردازش درست درخواست بازدیدکننده، نام دامنه باید از server name که در واقع نام سرور میزبان وبسایت است، تفکیک شود!
پس:
- Server Name نام اصلی یک کامپیوتر (سرور) است که از یک یا چند وبسایت میزبانی میکند و میتوان آن را به آدرس یک ساختمان فیزیکی تشبیه کرد؛
- SNI افزونۀ SSL است که این امکان را در اختیار مرورگر کاربر قرار میدهد تا به سرور بگوید قصد بازدید از کدام وبسایت (نام دامنه) قرارگرفته روی آن سرور را دارد.
بدون SNI، اگر سروری بخواهد از گواهی SSL استفاده کند، فقط توانایی میزبانی از یک وبسایت را خواهد داشت؛ یعنی هاست اشتراکی، VPS و انواع سرورهایی که میزبان چندین وبسایت هستند، نمیتوانند سراغ پروتکل HTTPS بروند و ارتباط ایمن بین طرفین را تضمین کنند.
SNI راهکاری بود که برای رفع این مشکل ارائه شد. همانطور که گفتیم، این افزونه باعث میشود شناسایی وبسایتی که کاربر میخواهد واردش شود امکانپذیر باشد.
حالا وقت بررسی و نگاه به مزایا و معایب این افزونۀ کاربردی است.
🧩 پیشنهاد خواندنی: هاست و دامنه چیست؟ |
مزایا و محدودیتهای SNI در یک نگاه 🔍
احتمالاً تا اینجا خودتان برخی از مزیتهای sni را فهمیده باشید؛ ولی برای خالی نبودن عریضه، جداگانه آنها را بررسی خواهیم کرد.
مزایا
اینها نقاط قوت این افزونۀ تکمیلی و کارآمد هستند:
امکان میزبانی از چندین گواهینامۀ SSL
به لطف SNI، میتوان از چندین گواهینامۀ SSL روی یک سرور میزبانی کرد؛ به عبارتی، میتوانیم از نامهای دامنۀ مختلف به شکلی ایمن روی یک هاست نگهداری کنیم.
افزایش چشمگیر امنیت
همانطور که گفتیم، اگر SNI در کار نبود، امکان استفاده از گواهینامۀ SSL برای تمام وبسایتهای قرارگرفته روی یک سرور واحد هم وجود نداشت! از آنجایی که این گواهینامه نقش بسیار پررنگی در تأمین امنیت دارد، عدم برخورداری از آن، سایت و بازدیدکنندگانش را در معرض خطرات امنیتی جدی قرار میدهد؛ ولی این افزونه اجازه میدهد با خیال راحت برای تکتک نامهای دامنه، گواهینامههای SSL جداگانه تهیه کنیم.
صرفهجویی در هزینهها
با فعالسازی sni، نیازی نیست برای هر وبسایتی که روی سرور میزبانی میشود آدرس آیپی جداگانه تهیه کرد! کاری که بسیار هزینهبردار است و در نهایت روی قیمت میزبانی هم اثر میگذارد. در کل که مخارج میزبانی از چندین سایت روی یک سایت، با استفاده از افزونۀ SNI به میزان قابل توجهی کاهش پیدا میکند.
بهبود عملکرد
وقتی پای SNI در میان باشد، سرورها میتوانند به شکلی بهینهتر از منابعی که در اختیار دارند استفاده کنند و توانایی رسیدگی به حجم بسیار بالایی از درخواستها را خواهند داشت. در نتیجه، عملکرد وبسایتهایی که روی سرور قرار دارند هم بسیار بهتر میشود.
افزایش سازگاری
همانطور که بالاتر هم گفتیم، تقریباً تمام مرورگرها، وبسرورها و سیستمعاملهای امروزی از SNI پشتیبانی میکنند و به عبارتی، این افزونه با همۀ آنها کاملاً سازگار است. به همین خاطر، SNI بهعنوان راهکاری پذیرفتهشده برای میزبانی ایمن و بهینه از چندین وبسایت روی یک سرور شناخته میشود.
افزایش انعطافپذیری
این افزونه امکان مدیریت و پیکربندی بیشتر گواهینامۀ SSL را در اختیار صاحبان و ادمینهای سایتها قرار میدهد؛ این مزیت مخصوصاً به کار سایتهای بزرگتر میآید.
شاید فکر کنید که sni هیچ ایرادی ندارد؛ ولی اینطور نیست!
معایب
از مهمترین مشکلات و عیبهای SNI میتوان به موارد زیر اشاره کرد:
عدم پشتیبانی توسط همۀ مرورگرها
بالاتر گفتیم که برخی از مرورگرهای قدیمی از SNI پشتیبانی نمیکنند؛ این یعنی بخشی از کاربران (هرچند خیلی محدود) نمیتوانند از این افزونه بهره ببرند.
عدم رمزنگاری اطلاعات
SSL آمد که با رمزنگاری دادهها، امنیت آنها را هنگام انتقال تضمین کند. ولی اطلاعاتی که با SNI ارسال میشوند (فقط همان host name) رمزنگاری نمیشوند و هرکس در طول مسیر میتواند آنها را بخواند. شاید بگویید host name خالی که مشکلی ایجاد نمیکند؛ ولی برای تأمین حداکثری امنیت، خوب بود که از اولیهترین روشهای رمزنگاری برای مخفی کردن نام دامنۀ درخواستی استفاده میشد.
محدود بودن به پروتکل HTTPS
چون SNI افزونۀ گواهینامۀ SSL است، فقط به کار اتصالاتی میآید که با پروتکل HTTPS برقرار میشوند؛ یعنی هیچ فایدهای برای پروتکلهای دیگر مثل FTP و SMTP ندارد.
امکان پیکربندی نادرست
از آنجایی که عملکرد درست SNI به تنظیمات درست سرور وابسته است، پیادهسازی اشتباه آن ممکن است به پیکربندی و کانفیگ نادرست منجر شود.
امکان آسیبپذیر بودن در برابر رخنههای امنیتی
شاید SNI در برابر برخی از حملات سایبری مقاوت خوبی از خود نشان ندهد؛ بهطور مشخص، راجعبه حملۀ Man-in-the-middle و DNS Spoofing و کلاً امثال اینها صحبت میکنیم.
حالا میدانید sni چیست و با برخی از مهمترین خصوصیات آن، بههمراه مزایا و معایبش آشنا شدید. بیایید ببینیم چطور میتوان آن را در کنترلپنلهای مختلف فعال کرد.
آموزش فعالسازی و ساخت sni در کنترلپنل دایرکت ادمین
کنترلپنل رابطی گرافیکی است که استفاده و مدیریت هاست را ساده میکند. انواع بسیاری از این رابطهای گرافیکی وجود دارند که برای شناخت مطرحترین آنها، میتوانید مقالۀ آشنایی با انواع کنترل پنل هاست را بخوانید.
در اینجا، چگونگی فعالسازی sni در کنترلپنل شناختهشدۀ دایرکت ادمین را بررسی میکنیم.
این کار در ۳ مرحله انجام میشود:
مرحلۀ اول: فعالسازی sni در دایرکت ادمین
فایل configuration دایرکت ادمین را با استفاده از ویرایشگر انتخابی خودتان باز کنید:
vi /usr/local/directadmin/conf/directadmin.conf
در تنظیمات پیشفرض دایرکت ادمین، enable_ssl_sni
برابر با صفر است. برای فعالسازی این افزونه، باید enable_ssl_sni=0
را با enable_ssl_sni=1
جایگزین کنید.
مرحلۀ دوم: ریاستارت کردن دایرکت ادمین
با استفاده از دستور زیر، دایرکت ادمین را ریاستارت کنید تا تغییراتی که اعمال کردهاید اجرا شوند:
service directadmin restart
مرحلۀ سوم: نصب گواهینامۀ SSL
حالا وقتی وارد دایرکت ادمین میشوید، امکان ساخت یا نصب یک گواهینامۀ SSL جدید را خواهید داشت؛ بدون اینکه نیاز باشد آدرس آیپی جداگانهای برای گواهینامۀ جدید به دایرکت ادمین ارائه کنید.
در بخش بعدی، پاسخ چند مورد از سؤالات رایج پیرامون sni را میدهیم.
سوالات احتمالی شما درباره افزونه sni
بررسی کردیم و فهمیدیم این ۳ سؤال، پرتکرارترین پرسشها دربارۀ sni هستند که ذهن بسیاری از کاربران را درگیر کردهاند. در اینجا پاسخ آنها را میدهیم تا تمام ابهامات را برطرف کنیم.
کدام مرورگرها با SNI سازگارند؟
چند باری گفتیم که اگر برخی مرورگرهای قدیمی مثل Internet Explorer 7 را فاکتور بگیریم، تقریباً تمام مرورگرهای بهروز از این افزونه پشتیبانی میکنند، اگر قرار باشد نام ببریم، لیستی شامل اسامی زیر خواهیم داشت:
- Google Chrome (ورژن ۶ به بالا)؛
- Mozilla Firefox (ورژن ۲ به بالا)؛
- Microsoft Edge (همۀ ورژنها)؛
- Apple Safari (ورژن ۳ به بالا)؛
- Opera (ورژن ۸ به بالا)؛
- مروگر پیشفرض تبلتهای اندروید؛
- BlackBerry 10 Web Browser؛
- Open SSL
برویم برای پاسخ دادن به سؤال بعدی.
اگر مرورگر کاربر از SNI پشتیبانی نکند چه اتفاقی میافتد؟
البته که احتمال رخداد چنین اتفاقی واقعاً نادر است؛ چون همانطور که در بخش قبل دیدید، بیشتر مرورگرهای امروزی از این افزونه پشتیبانی میکنند.
ولی در چنین شرایطی، کاربر امکان دسترسی به برخی وبسایتهای بهخصوص را نخواهد داشت و احتمالاً پیام خطایی با متنی مشابه Your connection is not private دریافت خواهد کرد.
SNI رمزنگاری شده چیست؟
همانطور که بالاتر گفتیم، انتقال اطلاعات (مشخصاً domain name یا نام دامنه) در SNI بدون رمزنگاری انجام میشود؛ برای اینکه امنیت تا جای ممکن افزایش پیدا کند، نسخۀ رمزنگاری شده این افزونه ارائه شد که با عنوان Encrypted SNI یا ESNI شناخته میشود.
البته که هنوز این نوع از SNI خیلی رایج نشده و پشتیبانی خوبی هم از آن نمیشود!
SNI: افزونهای که استفاده از SSL را برای تمام سایتها ممکن کرد!
در این مقاله تمام جوانب Server Name Indicator را بررسی کردیم و فهمیدیم sni چیست. گفتیم که اگر این افزونه به سیستم SSL یا همان TLS امروزی افزوده نمیشد، سایتهایی که روی هاستهای اشتراکی و VPSها میزبانی میشوند، امکان استفاده از پروتکل HTTPS و برخورداری از مزایای آن را نداشتند.
SNI به کمک مرورگر کاربر میآید تا از همان شروع برقراری ارتباط، به سرور بفهماند که میخواهد درخواستش به کدام وبسایت برسد. در نتیجۀ این موضوع، دیگر استفادۀ همزمان چند وبسایت از یک آدرس آیپی مشترک معضلساز نخواهد بود.
سعی کردیم راجعبه همۀ جوانب صحبت و مقالهای کامل در این رابطه تهیه کنیم؛ ولی اگر همچنان پرسشی دربارۀ sni دارید که پاسخ آن را نگرفتهاید، حتماً آن را در قسمت نظرات با ما در میان بگذارید تا در اولین فرصت پاسختان را بدهیم.
منابع: GlobalSign | IONOS | Geeks for Geeks | Cloudflare
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید