چگونه HTTPS را فعال کنیم؟ آموزش گام به گام گرفتن Https برای سایت
پروتکل http اصلیترین پروتکل در اینترنت است که برای انتقال انواع دادهها اعم از متن، تصاویر، ویدیوها، کدها و نوع داده دیگری که از طریق وب قابل انتقال باشد، مورداستفاده قرار میگیرد. به دلیل ماهیت این پروتکل و ارسال دادههای متنی به همان شیوه متنی، احتمال دسترسی افراد خرابکار یا کلاهبردار به اطلاعات ارسال شده از طریق شنود یا جاسوسی در شبکه بالا است؛ به همین دلیل نوع دیگری از این پروتکل با نام https وجود دارد که تفاوتهایی با http دارد. در ادامه این مطلب، به بررسی این پروتکل، اهمیت آن و اینکه چگونه https را فعال کنیم، میپردازیم.
پروتکل https چیست؟
پروتکل https مخفف شده عبارت «Hyper-Text Transfer Protocol Secure» است که البته به صورت پیشفرض، بخش Secure در آن وجود ندارد! این پروتکل وظیفه دارد اطلاعات دریافت شده از کلاینت (کلاینت یا همان کاربر) را دریافت کرده و پس از رمزنگاری، آن را در شبکه ارسال کند. برای آشنایی با این روند، باید با مفاهیمی همچون DNS و IP و همچنین دامین اشنایی داشته باشید که معرفی و تشریح آنها در این مطلب ممکن نیست.
گوگل در سال 2018 اعلام کرد سایتهایی که فاقد پروتکل https باشند، به عنوان ناامن یا Not Secure در مرورگر نشان داده میشوند. به همین دلیل تقریبا همه سایتهایی که فعالیت جدی داشتند، از https مهاجرت کردند. اما تفاوت اصلی http و https همان حرف S است. این کلمه مخفف Secure بوده و زمانی به سایت ارائه میشود که صاحب سایت، گواهی SSL را روی سایت خود فعال کرده و تمام آدرسهای خود را به https تغییر دهد. با این کار، یک لایه امنیتی روی دادههای ارسال شده بین سایت و کلاینت ایجاد میشود که تضمین میکند همه اطلاعات، به صورت رمزنگاری شده و کاملا امن منتقل میشوند.
برای اهمیت این موضوع، سایتها و صفحات پرداخت را درنظر بگیرید. زمانی که وارد یک صفحه پرداخت میشوید، باید اطلاعات مربوط به حساب بانکی خود را وارد کادرهای مربوطه کنید. در صورتی که هیچ رمزنگاری بین مرورگر شما و سرور بانک نباشد، یک هکر یا کلاهبردار به سادگی میتواند با دریافت اطلاعات حساب شما، قبل از اینکه بخواهید رمز یک بار مصرف خود را استفاده کنید، کلاهبرداری خود را انجام داده و تمام حساب شما را خالی کند!
به این ترتیب، حتی اگر شخصی بتواند وارد شبکه شما شده و دادههای منتقل شده را دریافت کند، چیزی به جز کاراکترهای بیمعنی پیدا نمیکند. تنها راه برای دسترسی به این اطلاعات، در اختیار داشتن کلید رمزگشایی دادهها است که در اختیار هیچ شخصی نیست و تنها در گواهی SSL تعبیه شده؛ در نتیجه امنیت اطلاعات تضمین میشود!
قبل از اینکه بخواهیم به اینکه چگونه https را فعال کنیم، بپردازیم، ابتدا باید با علت تفاوت https و http اشنا شویم؛ یعنی گواهینامه SSL!
SSL چیست؟
گواهینامه SSL یک نوع گواهی دیجیتال است که شرکتها، سامانها و همه افرادی که میخواهند یک اتصال امن را با استفاده از پروتکل http برقرار کنند، مورداستفاده قرار میگیرد. با فعالسازی این گواهی، همه اطلاعات منتقل شده بین وبسرور و کلاینت، به صورت رمزنگاری شده انتقال پیدا میکنند. در نتیجه افرادی غیر از وبسرور و کلاینت موردنظر، نمیتوانند اطلاعات را مشاهده کنند؛ حتی اگر موفق به دریافت و بارگیری آن شوند!
لازم به ذکر است هر سایت برای دریافت نماد اعتماد الکترونیک یا همان اینماد (Enamad)، نیاز به فعالسازی گواهی SSL دارد. در صورتی که سایت شما فاقد این گواهی باشد، درخواست شما برای دریافت اینماد رد خواهد شد.
چگونه https را فعال کنیم؟
برای گرفتن https برای سایت، باید در ابتدا این گواهی را خریداری و فعالسازی کنید. در ادامه فرآیند فعال کردن https در سایت را به صورت قدم به قدم برای شما توضیح میدهیم. البته که با دیدن تصویر زیر، میتوانید در زمان کمتری این مباحث را به صورت خلاصهشده ببینید. در واقع این تصویر، خلاصهای از مراحل گرفتن Https برای سایت است!
خرید و دریافت گواهی SSL
در ابتدا باید یک گواهی SSL برای سایت خود خریداری کنید. معمولا زمانی که یک هاست یا فضای میزبانی برای سایت خود تهیه میکنید، شرکت ارائه دهنده هاست گواهی SSL را به صورت رایگان و هدیه به شما ارائه میدهد. در غیر این صورت، میتوانید اقدام به خرید SSL برای سایت خود کنید.
برای این کار، میتوانید به سایتهایی که این گواهینامه را به فروش میرسانند، مراجعه کرده و با پرداخت هزینه مربوطه، این گواهی را دریافت کنید. در زمان فعلی (تابستان 1403) برای خرید یک گواهی SSL عادی برای یک سایت شخصی و غیرسازمانی، باید بین 250 تا 400 هزار تومان بسته به شرکتی که این گواهی را به فروش میرساند، هزینه کنید.
پس از خرید گواهی SSL، کدهایی با نام Certificate، Certificate authority bundle و Private Key را دریافت میکنید که برای گرفتن https برای سایت و فعال کردن SSL لازم هستند. آنها را درون یک فایل .txt قرار داده و به مرحله بعدی بروید.
پیشنهاد مطالعه: دیپلوی چیست؟
بهتر نیست SSL رایگان بگیریم؟
بیایید منطقی به قضیه نگاه کنیم. تصور کنید شرکتی دارید که موفق به توسعه یک رمزنگاری خوب و قوی شده و شرکتهای امنیتی که متصدی امنیت وب هستند نیز آن را تایید کردهاند. در این شرایط، این شرکت چندین میلیون دلار روی این رمزنگاری هزینه صرف کرده و نیاز دارد به کارمندان خود حقوق کافی پرداخت کند. برای مثال، اگر این شرکت تنها 20 کارمند داشته باشد و به هرکدام از آنها به طور متوسط، 80 هزار دلار در سال پرداخت کند، باید سالیانه حدود 1 میلیون و 600 هزار دلار سود خالص داشته باشد. اگر این شرکت خدمات خود را به صورت رایگان ارائه دهد، چطور میتواند درآمد کافی را کسب کند؟
البته بله شرکتهایی نظیر Let’s Encrypt وجود دارند که SSLهای رایگان به کاربران ارائه میدهند و از نظر اعتبار نیز در وضعیت خوبی قرار دارند؛ اما باز هم با توجه به دلایلی که گفته شد، بهتر است از گواهیهای رایگان استفاده نکنید.
اضافه کردن گواهی SSL در کنترل پنل
در قدم بعد، باید وارد کنترل پنل هاست خود شده و کدهای دریافت شده را در جای مناسب وارد کنید. دایرکت ادمین و Cpanel، پراستفادهترینها در نوع خود هستند.
برای فعال کردن SSL در سایت Cpanel باید:
- وارد کنترل پنل هاست خود شوید.
- از قسمت Security وارد بخش SSL/TSL شوید.
- روی گزینه (instal and manage ssl for your site (https کلیک کنید.
- کمی اسکرول کنید تا کادرهای Domain و Certificate و Private Key را پیدا کنید.
- در کادر Domain، دامنه سایتتان را انتخاب کنید.
- در کادر دوم، کد مربوط به Certificate را وارد کنید.
- در کادر آخر نیز Private Key را قرار دهید.
- دوباره اسکرول کنید تا کادر Certificate authority bundle را ببینید.
- کد مربوط به این کادر را وارد کنید.
- روی گزینه install Certificate کلیک کنید تا SSL شما ثبت شود.
اما اگر هاست شما از دایرکت ادمین به عنوان پنل کنترل هاست استفاده میکند، باید مسیر زیر را طی کنید:
- وارد کنترل پنل هاست خود شوید.
- از قسمت Account Manager وارد بخش SSL Certificate شوید.
- گزینه Paste pro-generated certificate and key را انتخاب کنید.
- در صفحه باز شده کدهای Certificate و Private key را قرار دهید.
- تغییرات را ذخیره کنید و به SSL Certificate برگردید.
- این بار روی CA Rot certificate کلیک کرده و Certificate authority bundle را وارد کنید.
- تغییرات را ذخیره کنید تا SSL ثبت شود.
اکنون باید چند ساعتی را منتظر بمانید تا شرکت ارائه دهنده SSL، آن را اعتبارسنجی کرده و پروتکل سایت شما به https تغییر پیدا کند. اما مشکلی که خیلی از افراد بعد از تبدیل شدن http به https در سایت با آن برخورد میکنند، نمایش سایت با هر دو نوع آدرس است؛ یعنی اگر آدرس سایت را به صورت https://Sabzlearn.ir وارد کنند، وارد نسخه https سایت میشوند و اگر با http وارد سایت شوند، با اعلان Not Secure مواجه میشوند.
پیشنهاد مطالعه: سرور چیست؟
بعد از گرفتن https برای سایت، باید چه کاری انجام دهیم؟
یکی از مشکلات رایج بعد از فعال کردن https، نمایش سایت به دو صورت است. اینکه هم سایت با استفاده از http و هم https باز شود، باعث گیج شدن موتورهای جستجو شده و در بهینهسازی برای موتورهای جستجو (SEO) تاثیر منفی میگذارد. در واقع، گوگل عملا نمیداند کدام یک، آدرس اصلی سایت شما است و ممکن است نتواند رتبههای مناسبی را در نتایج جستجو به شما اختصاص دهد.
تنها کاری که باید در این مرحله انجام دهید، ریدایرکت کردن تمام آدرسهای دارای http به نسخه https سایت است. در سایتهای غیروردپرسی و اختصاصی، این کار باید توسط برنامه نویس انجام شود. برای این کار ابتدا باید:
- وارد پنل مدیریت هاست خود شوید.
- وارد بخش File Manager شوید.
- فایل .htaccess که در پوشه Public_html باز کنید.
- در صورت عدم مشاهده این فایل، تیک گزینه Show Hidden Files را فعال کنید.
- در صورت عدم وجود این فایل، آن را ایجاد کنید. دقت کنید این فایل، بدون نام است و عبارت htaccess که بعد از علامت نقطه قرار گرفته، فرمت آن را نشان میدهد.
- قبل از ایجاد هرگونه تغییر، یک بکاپ از فایل تهیه و دانلود کنید.
- برای ریدایرکت کردن آدرسهای http به https، کد زیر را به انتهای فایل وارد کنید.
#Redirect From http to HTTPSRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ HTTPS://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- در صورت کار نکردن کد قبلی، این کد را جایگزین کنید.
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteRule ^ HTTPS://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
به این ترتیب، تمام آدرسهای سایت شما که با http آغاز میشدند، بعد از وارد کردن در مرورگر به طور خودکار با نسخه https جایگزین میشوند.
در سایتهای وردپرسی نیز میتوانید از روش قبلی استفاده کنید؛ اما راههای سادهتری هم وجود دارد. میتوانید با استفاده از افزونه Really Simple SSL، به سادگی تمام آدرسهای http را به https تبدیل کنید. پیشنهاد ما استفاده از نسخه رایگان این افزونه است؛ زیرا نسخه حرفهای امکانات خاصی ندارد و همین نسخه رایگان، جوابگوی کار ما خواهد بود.
در صورتی که سایت شما از جوملا به عنوان CMS استفاده میکند نیز میتوانید از افزونههای Yireo SSL Redirection یا ReDJ برای این کار استفاده کنید!
خلاصهای از نحوه گرفتن https برای سایت
پروتکل https یک پروتکل وب برای انتقال دادهها بین کلاینت و سرور است که یک لایه امنیتی برای رمزنگاری دادهها روی آن اعمال شده است. این لایه که با حرف S در انتهای نام این پروتکل نشان داده میشود، بعد از فعالسازی گواهینامه دیجیتالی SSL فعال میشود. برای گرفتن https برای سایتهای مختلف، باید بعد از تهیه گواهی SSL جزئیات آن را در کنترل پنل هاست وارد کرده و ذخیره کنید. در ادامه، آدرسهای سایت به دو دسته تقسیم میشوند: آنهایی که هنوز با http شروع میشوند و آنهایی که از https استفاده میکنند.
برای رفع این مشکل، باید یکی از قطعه کدهای قرار داده شده در بخشهای قبلی را انتهای فایل .htaccess قرار دهید تا تمام آدرسهای http به https منتقل شوند.
در این مطلب دانستیم چگونه https را فعال کنیم و یک لایه امنیتی عالی به سایت خود اضافه کنیم. اگر سوالی در رابطه با گرفتن https برای سایت یا SSL دارید، میتوانید در بخش نظرات آن را مطرح کنید.
نظری برای این مقاله ثبت نشده است