چگونه یک وبسایت وردپرس را از HTTP به HTTPS یا SSL منتقل کنیم؟

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 05 خرداد 1397
دسته بندی ها : وردپرس

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

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

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

SSL علیه HTTPS

SSL، مخفف Secure Sockets Layer، تکنولوژی استاندارد امنیتی برای ایجاد یک ارتباط رمزنگاری شده میان سرور و مرورگر است. این ارتباط، تضمین می کند که تمام داده های منتقل شده بین سرور و مرورگر، در مقابل شنود و دستکاری امن و صحیح باشند. گرچه، HTTPS به مرورگر دستور می دهد که یک لایه رمزنگاری SSL را برای محافظت از ترافیک داده ها اضافه کند.

به طور خلاصه، SSL استاندارد نحوه رمزنگاری ارتباطات توسط HTTPS است.

نحوه کار SSL

به طور معمول یک گواهی SSL نام دامنه، نام شرکت، آدرس، شهر، ایالت و کشور شما، و همچنین تاریخ انقضای گواهی و جزئیاتی درباره گواهی مسئول تصویب را شامل می شود.

وقتی که یک مرورگر به یک سایت امن متصل می شود، گواهی SSL آن را دریافت می کند و بررسی می کند که منقضی نشده باشد، توسط مسئولی دارای صلاحیت صادر شده باشد، و این که توسط وبسایتی که برایش تهیه شده است استفاده شده باشد. اگر در هر کدام از این بررسی ها خطایی رخ دهد، مرورگر پیغامی به کاربر نشان می دهد که می گوید وبسایت توسط SSL امن نشده است.

تفاوت میان HTTP و HTTPS

شاخص های زیادی هستند که این دو را از هم متفاوت می کنند. از نظر من، سه مورد زیر تفاوت های اصلی بین HTTP و HTTPS هستند.

  1. طرح URL: URL های HTTPS با https:// شروع می شوند و به طور پیشفرض از پورت 443 استفاده می کنند، در حالیکه URL های HTTP با http:// شروع می شوند و به طور پیشفرض از پورت 80 استفاده می کنند.
  2. امنیت: HTTP نا امن، و هدف حملات شنودی است، که به هکر ها اجازه می دهد به اطلاعات حساسی از یک وبسایت دسترسی داشته باشند، در حالی که HTTPS برای مقابله با امنیت در مقابل چنین حملاتی طراحی شده است.
  3. لایه های شبکه: HTTP بر روی بالاترین لایه مدل TCP/IP فعالیت می کند، که لایه Application (برنامه) است.
    پروتوکل امنیتی SSL به عنوان لایه ای پایین تر از همان مدل TCP/IP عمل می کند، اما پیام های HTTP را در حین انتقال رمزنگاری می کند، و هنگام رسیدن رمزگشایی می کند. از این رو، HTTPS یک ابزار جدا نیست، بلکه به معنای استفاده از HTTP معمولی بر روی یک ارتباط SSL رمز نگاری شده است.

چرا از HTTPS استفاده کنیم ؟

HTTPS ، به طور خاصی میان شبکه های رمزنگاری شده، (مانند Wi-Fi) و از آنجایی که هر کسی بر روی شبکه می تواند اطلاعات حساسی را بیرون بکشد، مهم است.

چند بار پیش آمده است که به یک وبسایت بر روی یک شبکه باز وصل شوید و تبلیغات غیر منتظره ببینید؟

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

بسیاری از مشتریان از همکاری با وبسایتی که گواهی SSL ندارد خود داری می کنند. نمایش SSL Site Seal شما به کاربران می گوید که می توانند با دانستن این که محافظت شده هستند، با اطمینان از وبسایت استفاده کرده یا خرید کنند.

انتقال وورد پرس از HTTP به HTTPS

پس از این که وورد پرس را برای وبلاگ خود نصب کردید، باید SSL را راه اندازی کنید. برای HTTPS کردن یک وبسایت، ابتدا یک گواهی SSL برای دامنه خود بگیرید، آن را بر روی سرور نصب کنید و لینک آن را از HTTP به HTTPS تغییر دهید.

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

برای پیشروی با این آموزش، مطمئن شوید سرور شما SSL یا TLS را فعال سازی کرده است. در غیر این صورت، با هاست خود تماس گرفته و از آنها درخواست کنید که آن را فعال کنند. ممکن است برای این کار از شما پولی دریافت کنند.

برای بررسی فعال بودن یا نبودن آن، به cPanel خود وارد شوید. باید زیر ویجت امنیت (Security)، گزینه ای به نام SSL/TLS manager ببینید.

https در وردپرس

دریافت گواهی SSL

این ها انواع مختلف گواهی SSL هستند. اساسا به این سه گروه دسته بندی می شوند: اعتبار سنجی دامنه، (Domain Validation) اعتبار سنجی سازمان (Organization Validation) و اعتبار سنجی گسترده. (Extended Validation)

. اعتبار سنجی در سطح دامنه اساسی ترین نوع SSL و عموما ارزان ترین آنها است.
این گواهی ها رمزنگاری اساسی فراهم می کنند، سریعا می توانند صادر شوند و تنها با یک چک می توانید آنها را صاحب شوید.

. گواهی های SSL اعتبار سنجی شده در سطح سازمان نیازمند ثبت کسب و کار یا سازمان پشت دامنه هستند. این سطح بالاتری از امنیت را به ارمغان می آورد و به مشتری ها اجازه می دهد که در دادن اطلاعات شخصی خود به سرور شما اطمینان کنند.

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

بسیاری شرکت ها وجود دارند که گواهی های SSL را به صورت آنلاین می فروشند، مانند SSLs.com، Media Temple، GoDaddy، Comodo و Namecheap.

چگونه یک گواهی SSL را فعال سازی کنیم؟

نکته: من برای خرید گواهی SSL خود از Namecheap استفاده کردم، ولی از هر شرکتی که شما SSL خود را خریداری کنید، این آموزش پاسخگو خواهد بود.

اولین قدم در فعال سازی گواهی SSL دریافت CSR code از شرکت ارائه دهنده هاست شماست. برای دریافت CSR code از یک حساب سرور شراکتی SSL، این مراحل را دنبال کنید:

۱. به پنل cPanel حساب خود وارد شوید و به بخش SSL/TLS Manager بروید.

https در وردپرس

۲. بر روی لینک زیر Certificate Signing Request (CSR) کلیک کنید.

https در وردپرس

۳. فرم مربوط به دامنه ای که می خواهید SSL را بر روی آن قرار دهید را پر کنید، و بر روی Generate کلیک کنید.

https در وردپرس

۴. CSR کد گذاری شده دامنه شما باید ساخته شده و به شما نشان داده شود.

https در وردپرس

۵. به ارائه دهنده SSL بروید و فعال سازی SSL را شروع کنید. CSR code که در بالا گرفتید را در بخش CSR وارد کنید، سروری که هسات شما بر روی آن اجرا می شود را انتخاب کنید و بر روی دکمه Next کلیک کنید.

https در وردپرس

۶. حال از شما خواسته می شود که اطلاعات CSR خود را وارد کنید، و یک ایمیل تاییدیه وارد کنید.

https در وردپرس

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

https در وردپرس

در پایان اعتبار سنجی، SSL شما تصویب شده، و به ایمیل شما ارسال می شود. یک آدرس IP اختصاصی برای دسترسی به cPanel شما مورد نیاز است. اگر از پس مخارج یک سرور اختصاصی بر نمی آیید، اکثر هاست های cPanel از Server Name Indication (SNI) پشتیبانی می کنند. (بخشی از پروتوکل TLS که به سرور اجازه می دهد به یک آدرس IP چند گواهی بدهد، و در نتیجه چند وبسایت HTTPS داشته باشد.)

از آنجایی که سرور اشتراکی که من برای WordPress خود استفاده می کنم از SNI پشتیبانی می کند، تصمیم گرفتم به جای خرید یک IP اختصاصی از آن استفاده کنم.

برای نصب گواهی SSL، این مراحل را دنبال کنید:

۱. در بخش SSL/TLS Manager در cPanel، بر روی لینک زیر Certificates (CRT) کلیک کنید.

https در وردپرس

۲. گواهی خود را به همراه فایل دارای پسوند .crt در بخش ارائه شده وارد کنید.

https در وردپرس

۳. بر روی لینک زیر Install and Manage SSL for your site (HTTPS) کلیک کنید.

https در وردپرس

۴. از منوی کشویی دامنه را انتخاب کنید، بر روی Autofill by Domain و در نهایت بر روی دکمه Install Certificate کلیک کنید.

https در وردپرس

پیکربندی وورد پرس برای SSL/HTTPS:

لینک های موجود در وورد پرس (مانند عکس های پیوند داده شده، تم های CSS و فایل های جاوا اسکریپت) به URL نصب مربوط هستند.

برای تغییر HTTP به HTTPS، URL نصب باید از http:// به https:// تغییر یابد.

. به پنل وورد پرس خود وارد شوید و به بخش Setting و سپسGeneral  بروید.

. مطمئن شوید که آدرس (URL) وورد پرس و وبسایت https هستند. اگر نیستند، بعد از http یک s اضافه کنید و آن را ذخیره کنید.

https در وردپرس

برای فعال سازی مدیریت وورد پرس بر روی SSL، باید کانستنت FORCE_SSL_ADMIN را در فایل wp-config.php وبسایتتان true قرار دهید، تا تمام login ها و session ها بر روی SSL اجرا شوند.

define('FORCE_SSL_ADMIN', true);

اگر وبسایت WordPress شما از یک CDN برای کامپوننت هایش (عکس ها، جاوا اسکریپت و CSS) استفاده می کند، مطمئن شوید که تمام URL ها https هستند، در غیر این صورت وبسایت شما به نظر مرورگر ها غیر امن می آید.

قدم بعدی چیست؟

حال که با موفقیت وورد پرس را به HTTPS انتقال داده ایم، هنوز دو کار دیگر داریم، اول این که یک 301 permanent redirect اجرا کنیم و گوگل را از تغییر URL آگاه کنیم.

برای انجام این کار، این کد را به بالای کد فایل .htaccess وورد پرس خود اضافه کنید:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

تمام بخش هایی که به شکل yoursite.com هستند را با URL وورد پرس خود تعویض کنید.

برای مطلع کردن گوگل از تغییر URL، سایت وورد پرس خود را دوباره (اینبار با https://) به Google webmaster tool اضافه کنید.

همچنین می توانید وضعیت وبسایت SSL خود را با استفاده از Qualys SSL Labs بررسی کنید.

خلاصه

با انجام این مراحل، باید اطلاعات جامعی در زمینه HTTPS، SSL و دلایلی که باید سایت وورد پرس خود را به SSL/HTTPS منتقل کنید، داشته باشید.

منبع

این مطلب را با دیگران به اشتراک بگذارید :

مقالات پیشنهادی

چگونه یک وبسایت وردپرسی را به یک اپلیکیشن موبایل تبدیل کنیم

داشتن یک وبسایت واکنشگرا یکی از مهمترین مواردی است که دارندگان وبسایت باید به آن توجه کنند، با این کار آن ها می توانند تمام اطلاعات وبسایت را در دستگا...

10 راه بهنیه سازی و افزایش سرعت وبسایت وردپرسی - بخش اول

بحث امروز ما در مورد وردپرس هست ، وردپرس به طور پیش فرض سبک و سریع است . البته پیکربندی های که توسط کاربرها بر روی وردپرس انجام میشود میتواند باعث کاه...

افزودن SSL به وبسایت وردپرسی

با تداوم اهمیت روزافزون موضوع امنیت برای همگان، استفاده کردن از SSL روی وبسایت‌های وردپرسی به یک موضوع شناخته شده تبدیل شده است

چگونه یک گواهینامه SSL رایگان را برای وردپرس راه‌اندازی کنیم ؟

یکی از بهترین و در عین حال آسان‌ترین راه برای برقراری امنیت در وبسایت وردپرسی‌تان پیاده سازی کردن یک گواهینامه SSL برای دامنه تان است. و به این خاطر ک...