شبکه و امنیت

آموزش استفاده اجباری از پروتکل HTTPS برای وبسایت

فعال سازی اجباری HTTPS برای سایت با ویرایش .htaccess

پس از نصب گواهی SSL ، وب سایت شما از طریق HTTP و پروتکل HTTPS در دسترس هست با این حال، بهتره که فقط از مورد دوم یعنی از HTTPS به صورت اجبار استفاده کنید، چون داده های وب سایت شما رو رمزگذاری و ایمن میکنه.

در حالی که هاستینگ آذردیتا به کاربران اجازه میده این تنظیم رو فقط با یک کلیک پیکربندی کنند و تنظیم SSL رایگان هست، شما همچنین میتونید برای اجبار به اتصال HTTPS از فایل .htaccess استفاده کنید. در ادامه ما به این موضوع به صورت کامل پرداختیم، پس با ما تا انتهای این آموزش همراه باشید.

توضیح مختصر راجب SSL و ضرورت آن

SSL به معنای “Secure Sockets Layer” است و یک پروتکل امنیتی است که برای ایجاد ارتباط امن بین کلاینت و سرور در شبکه استفاده می‌شود. SSL برای ارتقاء امان اطلاعات ارسالی بین دو دستگاه در اینترنت به کار می‌رود. این پروتکل با استفاده از رموزنگاری (encryption) اطلاعات، جلوگیری از تغییر داده‌ها توسط حملات Man-in-the-Middle، و اعتبارسنجی هویت سرور و گیرنده (authentication)، ارتقاء امنیت ارتباطات آنلاین را فراهم می‌کند.

SSL به صورت اختصاصی توسط Netscape توسعه داده شد، اما به طور کلی، TLS (Transport Layer Security) به عنوان نسخه به‌روزتر و ایمن‌تر SSL شناخته می‌شود. اغلب افراد به TLS به عنوان SSL اشاره می‌کنند، زیرا TLS به طور تضمینی سازگار با SSL است.

 

HTTPS چیست و چه کاری انجام میدهد؟

HTTPS به معنای “HyperText Transfer Protocol Secure” است و یک پروتکل انتقال اطلاعات است که از SSL یا TLS برای ایجاد ارتباط امن بین مرورگر و سرور استفاده می‌کند. این پروتکل HTTPS به وبسایت‌ها این امکان را می‌دهد که اطلاعات ارسالی و دریافتی بین کاربر و سرور را به صورت رمزنگاری شده ارسال کنند، افزایش امنیت اطلاعاتی که از طریق اینترنت منتقل می‌شوند.

وقتی یک وبسایت از پروتکل HTTPS به HTTPS تغییر پروتکل می‌دهد، ارتباط میان مرورگر و سرور با استفاده از SSL یا TLS انجام می‌شود. این ارتباط امن بسیار مهم است، به ویژه زمانی که اطلاعات حساسی مانند اطلاعات کارت اعتباری یا رمزهای ورود به وبسایت ارسال می‌شوند.

برخی از ویژگی‌های HTTPS عبارتند از:

  1. رمزنگاری اطلاعات: اطلاعات ارسالی و دریافتی بین کاربر و سرور به صورت رمزنگاری شده ارسال می‌شود، به‌طوری‌که افرادی که به اطلاعات دسترسی ندارند نتوانند آن‌ها را تفسیر کنند.
  2. اعتبارسنجی هویت: با استفاده از گواهی SSL/TLS، وبسایت می‌تواند اطمینان حاصل کند که ارتباط با سرور اصلی برقرار شده است و کاربر با وبسایت اصلی ارتباط برقرار کرده است.
  3. افزایش اعتماد: وجود قفل امنیتی در نوار آدرس مرورگر (نماد قفل) نشان‌دهنده این است که اتصال ایمن است و اطلاعات به‌روز شده است.

اجبار کردن پروتکل HTTPS برای تمامی ترافیک ها

یکی از چندین عملکردی که میتونید از طریق فایل .htaccess انجام بدید، هدایت ۳۰۱ ( ۳۰۱ redirects ) هست که برای همیشه URL قدیمی رو به آدرس جدید هدایت میکنه. با دنبال کردن این مراحل میتونید این ویژگی رو فعال کنید تا HTTPS رو برای تمامی ترافیک ورودی فعال کنید :

۱. به کنترل پنل هاست خودتون وارد بشید. (مبنای آموزش ما در اینجا کنترل پنل سیپنل هست)

۲. پس از ورود به سی پنل به قسمت File Manager وارد بشید.

۳. به پوشه و دایرکتوری public_html مراجعه کنید و فایل .htaccess رو با استفاده از ویرایشگر باز کنید.

۴. به پایین اسکرول کنید تا RewriteEngine On رو پیدا کنید و در قسمت خط زیر اون این کد رو قرار بدید :

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

سپس تغییراتی که انجام دادید رو سیو کنید.

اطمینان حاصل کنید که خط RewriteEngine on دو بار تکرار نشه. در صورت وجود خط، کافیه بقیه کد رو بدون اون خط کپی کنید.

اجبار کردن HTTPS برای یک دامنه خاص

فرض میکنیم که شما دوتا دامنه دارید. دامنه های http://yourdomain1.com و http://yourdomain2.com

هر دو دامنه به یک وب سایت دسترسی دارند، اما شما فقط میخواید اولین سایت به نسخه پروتکل HTTPS هدایت بشه. در این حالت از کد زیر در فایل .htaccess استفاده کنید :

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^yourdomain1.com [NC] 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

حتماً دامنه واقعی خودتون رو که سعی میکنید HTTPS رو برای اون فعال کنید جایگزین yourdomain1 کنید.

اجبار کردن HTTPS برای یک پوشه خاص

از فایل .htaccess همچنین میتونید برای اعمال HTTPS روی پوشه های خاص استفاده کنید. برای این کار، فایل باید در پوشه ای قرار بگیره که اتصال HTTPS داشته باشه.

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(folder1|folder2|folder3) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

مطمئن بشید که حتما اسم فولدر های داخل کد بالا رو با اسم پوشه های خودتون جایگزین کنید.

پس از انجام تغییرات، حافظه پنهان مرورگر (کش مرورگر) خودتون رو پاک کنید و سعی کنید از طریق HTTP به سایت خودتون متصل بشید. اگه همه موارد به درستی اضافه شده باشه، مرورگر شما رو به نسخه HTTPS هدایت میکنه.

برای امتیاز به این نوشته کلیک کنید!
[کل: ۰ میانگین: ۰]

سعید زارعین

سعید هستم 27 ساله، یک عدد تولید محتوا(ئر) خلاق :)))

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا