چگونه برای سایتم یک گواهینامه SSL رایگان تهیه و نصب کنم؟
این یکی از سوالاتی است که من خیلی زیاد با آن مواجه شدهام. دوستان، همکاران و مشتریها بارها و بارها از من در این مورد راهنمایی خواستهاند. به همین دلیل تصمیم گرفتم مطلب کوتاهی را در این مورد به همراه تصاویر کافی تهیه کنم تا از این به بعد دوستان را به این مطلب ارجاع دهم و شاید به درد افراد دیگری که از طریق جستجو به این مطلب میرسند هم بخورد.
الان که این مطلب را مینویسم، با کمبود وقت مواجه هستم و سعی میکنم در سریعترین و خلاصه ترین شکل ممکن بنویسم. اما بعدا این مطلب را حتما کاملتر خواهم کرد. برای تکمیل مطلب، اگر سوالی دارید زیر همین پست بپرسید. پاسخ خواهم داد و در صورت نیاز با آن پاسخ مطلب را کاملتر خواهم کرد.
گواهینامه SSL چیست؟
این سوال را بعدا مفصلتر پاسخ خواهم داد. به طور خلاصه، به کمک این گواهینامه، اطلاعات رد و بدل شده بین مرورگر کاربر و سرور یک سایت، رمزگذاری میشود و تا حدود زیادی امنیت آن تضمین میشود. اگر زیاد از این مفاهیم سر در نمیآورید، در همین حد بدانید که سایتهای دارای گواهینامه SSL امنتر هستند و بازدید کننده و موتورهای جستجو بیشتر به آن اعتماد میکنند. معمولا یک قفل بسته، به عنوان نمادی از وجود این گواهینامه کنار نام دامنه در بالای مرورگرها دیده میشود. در مورد سایتهایی که این گواهینامه را ندارند، قفل به شکل باز و قرمزرنگ نشان داده میشود تا به بازدید کننده اخطار داده شود که این سایت گواهینامه SSL ندارد.
چه زمانه به گواهی امنیتی SSL نیاز است؟
در یک کلام، همیشه. موتورهای جستجو این روزها به شدت روی این موضوع حساس هستند و سایتهای فاقد گواهی SSL را با نمرات منفی زیادی جریمه میکنند. مرورگرها هم دائما در حال سخت تر گرفتن به این گونه سایتها هستند. در هر صورت سایت شما باید همیشه گواهی امنیتی SSL به روز و سالمی داشته باشد.
گاهی اوقات ممکن است شما با مراجعه به آدرس یک سایت، با پیام خطایی توسط مرورگر مواجه شوید که میگوید این سایت امن نیست و سایت را برای شما باز نمیکند. ممکن است تصور کنید سایت مورد نظر هک شده است. اما خیلی اوقات چنین خطایی می تواند ناشی از مشکل پیدا کردن گواهی امنیتی SSL آن سایت باشد.
در یک سناریو دیگر، ممکن است شما یک سایت دارید که دامین آن را تغییر دادهاید. روش تغییر دامنه سایتهای وردپرسی را مطلبی دیگر توضیح دادهایم. بعد از انتقال سایت به دامنه جدید، باید توجه داشت که گواهی SSL سابق نه به همراه سایت منتقل شده و نه اگر منتقل میشد قابل استفاده بود. چون هر سرتیفیکیت SSL برای دامنه یا دامنههایی مشخص صادر میشود.
گواهینامه SSL رایگان یا پولی؟
سرویسهای زیادی هستند که SSL رایگان ارائه میدهند. بعداً به این سوال که مگر SSL پولی هم داریم و به چه درد میخورد خیلی مفصل تر پاسخ خواهم داد. مزیت مهم SSL رایگان، رایگان بودنش است. اما معمولا مشکلاتی مانند موارد زیر دارند:
- نیاز به تمدید در بازههای کوتاه زمانی (در این مورد خاص که من معرفی میکنم سه ماه یک بار)
- اعتبار کمتر در مقایسه با سرتیفیکیتهای معتبر تر غیر رایگان
- عدم نمایش اطلاعات گواهینامه در نوار آدرس مرور گر کنار نام دامنه
با وجود این مشکلات، معمولاً گواهینامههای SSL غیر رایگان برای ما در ایران انقدر گران هستند که توجیه مالی برای خرید آنها وجود ندارد. البته حتی اگر توجیه هم وجود داشته باشد، در حال حاضر به دلایل شرایط تحریم کشور، امکان خرید چنین گواهینامههایی بسیار کم است.
از کجا گواهینامه SSL رایگان تهیه کنم؟
در تجربهای که من طی سالها داشتم، بهترین سرویسی که گواهینامه SSL رایگان ارائه میکند سایت SSL For Free است. برای شروع مراحل دریافت و نصب گواهینامه SSL رایگان به این سایت سر بزنید:
در کادر اصلی نام دامنه سایت مورد نظر را با و بدون www وارد کنید. این دامنهها را با یک فاصله از هم جدا کنید. همچنین اگر زیردامنهای هم تحت این دامنه دارید، آن را هم وارد کنید. به مثال زیر دقت کنید:

در شکل فوق من دامنه behroozjanfada.ir را با و بدون www وارد کردم. همچنین زیر دامنه mail.behroozjanfada.ir را هم به این مجموعه اضافه کردم. در واقع میخواهم یک گواهینامه SSL برای سایتم تهیه کنم که سه دامین و سابدامین فوق را پوشش دهد. شما میتوانید تعداد بیشتری دامین و سابدامین اضافه کنید. حتی میتوانید این کار را با دامنههای مختلف انجام دهید. اما به دلیل زمان بر شدن پروسه تایید یا وریفای شدن مالکیت شما بر سایت، افزودن تعداد زیادی دامین و سابدامین را توصیه نمیکنم.
دسترسی به پوشه ریشه
نکته مهم دیگری که باید مد نظر داشت این است که شما باید طوری به هاست دسترسی داشته باشید که بتوانید در آدرسهای دامنههایی که وارد کردید، فایلهای تکست ساده را قرار دهید و روی مرورگر به آن دسترسی داشته باشید. این یعنی چه؟ اگر زیاد اطلاعات فنی ندارید، زیاد نگران این موضوع نباشید. معمولاً روت یا ریشه یک وبسایت، در آدرس دامین آن سایت در مرورگر در دسترس است. یعنی اگر مثلاً یک فایل به نام Hello.txt و با محتوای Hello World! بسازم و در روت behroozjanfada.ir قرار دهم، با وارد کردن URL زیر در مرورگر:
behroozjanfada/Hello.txt
عبارت Hello World! داخل صفحه مرورگر ظاهر خواهد شد. این به این معنی است که من به روت سایتم یعنی فولدری که فایلهای مربوط به behroozjanfada.ir داخل آن است دسترسی داشتم و توانستم این کار را بکنم. اما برای صدور گواهینامه برای چند دامین و سابدامین باید به فولدر همه آنها دسترسی داشته باشم. معمولا فولدر www هم همان فولدر روت سایت است. اما در مورد مثال خاصی که در بالا زدم، برای صدور گواهینامهای شامل mail.behroozjanfad.ir باید به فولدر سابدامین mail هم دسترسی داشته باشم. این مورد برای کاربران مبتدی کمی پیچیده خواهد بود. اما بعدا در این مورد توضیحات بیشتری خواهم داد.
چطور گواهینامه SSL رایگان را برای سایتم صادر کنم؟
در این بخش نحوه صدور و نصب را برای سایتهایی که از طریق پنل مدیریتی cPanel مدیریت میشوند توضیح میدهم. سایر پنلها هم بسیار مشابه هستند که آنها را هم بعدا در این آموزش پوشش خواهم داد. دقت کنید که این روش برای سایتهایی که از طریق سرورهای لینوکسی مدیریت میشوند و سیپنل یه یک پنل مدیریتی تحت وب ندارند، کارایی ندارد و برای این قبیل سایتها نیز بعدا بخشی را در این آموزش خواهم گنجاند.
دریافت فایلهای تایید مالکیت دامنهها
حالا میتوانیم گواهینامه SSL برای دامنهها و زیردامنههای مورد نظرمان را صادر و نصب کنیم. بعد از وارد کردن نامدامنهها و زیردامنهها در کادری که در بالا دیدید، روی دکمه Create Free SSL Certificate کلیک کنید. در صفحهای که باز میشود، مانند شکل زیر سه گزینه برای روشهای موجود برای تایید مالکیت شما بر این دامینها ارائه میشود.
در اینجا فعلا از سادهترین روش، گزینه دوم (تایید دستی) استفاده میکنیم. اما بعدا این آموزش با بررسی دو گزینه دیگر هم تکمیل خواهد شد. بعد از کلیک روی گزینه Manual Verification پایین صفحه به شکل زیر تکمیل خواهد شد:
در ادامه روی Manually Verify Domain کلیک کنید تا در پایین صفحه مانند شکل زیر گزینههای دانلود و تست فایلهای تاییدیه ظاهر شود. (دقت کنید که صفحه خود به خود اسکرول نمیشود. بعد از کلیک روی Manual Verify Domain خودتان صفحه را اسکرول کنید.)
در اینجا دو سری لینک (هر سری به تعداد دامینها و سابدامینهای معرفی شده) داریم. ابتدا روی تک تک لینکهای دانلود (سری اول) کلیک میکنیم و به تعداد دامنههای مورد نظر، فایلهایی را دانلود میکنیم.
بارگذاری فایلهای تایید مالکیت دامنهها
این فایلها، دارای نامهایی تشکیل شده از رشتههایی ناخوانا از کاراکترها هستند. محتویات این فایلها هم به طرز مشابه، رشتهای ناخوانا از کاراکترها هستند. این فایلها را باید در فولدرهای مربوط به هر دامنه یا زیردامنه روی سایت بارگذاری کنیم. دقت کنید که این فایلها باید داخل فولدری داخل روت هر کدام از دامنهها به آدرس زیر بارگذاری شود:
.well-known/acme-challenge
یعنی برای هر دامنه یا زیردامنه، از طریق فایلمنیجر در سیپنل، در روت دامنه ابتدا یک فولدر به نام .well-known (به نقطه ابتدای این نام دقت کنید که از قلم نیافتد) میسازیم و داخل آن فولدر دیگری به نام acme-challenge میسازیم و سپس فایل مربوط به این دامنه را در این فولدر بارگذاری میکنیم.
وقتی همه فایلها در فولدرهای مناسب بارگذاری شدند، با استفاده از سری دوم لینکها بارگذاری صحیح و امکان دسترسی به این فایلها را از طریق مرورگر چک میکنیم. به این ترتیب با کلیک روی اولین لینک، باید محتویات اولین فایل داخل مرورگر نمایش داده شود و الی آخر. در شکل زیر، نتیجه مربوط به اولین لینک مربوط به behroozjanfada.ir را میبینیم.
صدور گواهینامه SSL
اگر حتی یکی از لینکهای فوق به درستی کارنکنند یعنی یک جای کار ایراد دارد و باید اصلاح شود. اما اگر تمام لینکها به خوبی محتوای تک تک فایلها را نمایش میدهند میتوانید با کلیک روی Download SSL Certificate منتظر صدور گواهینامه SSL برای سایت خود شوید (گزینه I have my own CSR را لازم نیست تیک بزنید). این کار بستگی به این که چند دامنه را معرفی کردهاید و هاست یا سرور شما به چه سرعتی در دسترس باشد ممکن است کمی طول بکشد. در نهایت گواهینامه شما به شکل زیر صادر میشود. در حقیقت سه کادر حاوی رشتههای کاراکتر ناخوانا، همان گواهینامه SSL سایت شما است. دقت کنید که این صفحه را تا پایان عملیات باز نگه دارید.
چطور گواهینامه صادر شده را روی سایتم نصب کنم؟
حالا که گواهینامه SSL برای سایت شما صادر شده است به سادگی میتوانید آن را روی سایت خود از طریق cPanel نصب کنید. برای این کار از داشبورد اصلی cPanel در زبانه SECURITY گزینه SSL/TLS را کلیک کنید.
سپس روی گزینه آخر یعنی Install and Manage SSL for your site (HTTPS) کلیک کنید.
این صفحه نصب گواهینامه SSL است. در پایین صفحه سه کادر میبینید که درست معادل سه کادر در صفحه صدور گواهینامه SSL شما هستند. ابتدا در بالای آنها در دارپداون لیست Domain نام دامنه اصلی را انتخاب کنید و سپس با دقت محتویات کادرهای صفحه صدور را داخل کادرهای صفحه نصب کپی و پیست کنید:
سپس روی دکمه Install Certificate کلیک کنید. گواهینامه SSL شما نصب خواهد شد و پیامی مشابه شکل زیر دریافت خواهید کرد.
با کلیک روی دکمه OK صفحه مجدداً بارگذاری میشود و میتوانید در جدول بالای صفحه ببینید که گواهینامه تازه نصب شده شما تا چه زمانی اعتبار دارد.
تبریک میگویم. به این ترتیب شما یک گواهینامه SSL رایگان با اعتبار سه ماهه صادر و روی سایت خود نصب کردید.
اطلاعات بیشتر
تا اینجا این آموزش را به صورت خیلی خلاصه و مختصر ارائه دادم. اما در آینده نزدیک با معرفی روشهای دیگر و همینطور آموزش روی پنلهای مختلف و همینطور سرورهای لینوکسی و توضیحات مفصلتر این آموزش را تکمیل خواهم کرد.
همچنین پیام صدرایی آموزشی ویدئویی با همین روش ساخته است که در اینجا میتوانید ببینید.