در جولای ۲۰۱۸، گوگل شروع کرد سایتها را برای کسانی که با گوگل کروم به مشاهده آنها میپردازند با عنوان «نا امن» (Not Secure) علامتگذاری کند. اگر نمیخواهید ترافیک سایتتان از دست برود، فکر خوبی است که گواهینامه SSL را روی سایتتان نصب کنید. چراکه بدین ترتیب بازدیدکنندگان، سایتتان را از طریق پروتکل HTTPS مشاهده خواهند کرد.
دیگر وقت نصب این پروتکل رسیده است، در مطلب پیش رو نحوه انجام این کار را شرح میدهیم.
توجه: ممکن است پس از نصب «موفقیتآمیز» گواهینامه SSL روی سایتتان، هنوز هم عنوان «Not Secure» را ببینید. اگر چنین بود، در انتهای همین مطلب، نکات مرتبط با عیبیابی این قضیه را مطالعه کنید.
فهرست محتوا
مرحله ۱: دریافت گواهینامه SSL
طبق گفتههای بلاگ Google Developers، فعال کردن پروتکل HTTPS فقط از تمامیت دادههایتان محافظت نمیکنند. پروتکل HTTPS یکی از نیازمندیهای بسیاری از قابلیتهای جدید مرورگرها هم میباشد. این هم به کنار، این پروتکل باعث میشود بازدیدکنندگانتان هر وقت در حال بازدید از سایتتان هستند احساس امنیت بیشتری داشته باشند.
تازگیها وقتی که وبسایتی را با استفاده از مرورگر کروم باز میکنید، به احتمال زیاد جلوی URL خود با آن پیام بزرگ و زشت «Not Secure» مواجه میشوید.
راستی یک سؤال خوب، URL چیست؟ این مطلب را مطالعه کنید.
وقتی به خاطر بازدیدکنندگانتان زمان و تقلای زیادی را روی توسعه وبسایتی محشر سرمایهگذاری کرده باشید، دیدن چنین پیامی به هیچ وجه لذتبخش نیست.
قبل از آنکه به خیابان بزنید و دنبال جایی برای خرید یک گواهینامه SSL بگردید، اطمینان حاصل کنید که خوب میدانید وضعیتتان با هاست فعلی وبسایتتان چند چند است.
نصب SSL حقیقتاً ساده است، منتهی آنچه که نیاز است پیروی از دستورالعملی است که مناسبِ شرایطتان باشد. در صورتی که هاست وبسایتتان همین حالا هم با ارائه یک گواهینامه SSL رایگان، راه حلی برای مشکلتان دارد، دیگر نیازی نیست سرمایه خود را برای خرید یک گواهینامه هدر دهید.
موارد زیر گزینههایی هستند که برای انتخاب یک گواهینامه SSL عموماً باید به آنها مراجعه کنید:
- گرفتن گواهینامه SSL رایگان از طرف هاست فعلی وبسایتتان.
- دریافت گواهینامه SSL رایگان از طرف سرویسهایی چون Let’s Encrypt، Comodo یا Cloudflare.
- خرید یک گواهینامه SSL از سرویسهایی چون DigiCert، Namecheap یا GoDaddy.
سرویسهای SSLای که گواهینامههای SSL رایگان ارائه میدهند، اغلب گواهینامههای پولی نیز ارائه میدهند.
تفاوت این دو در آنجاست که اکثر گواهینامههای رایگان باید به صورت دستی تجدید شوند. میتوانید چنین کاری را از طریق یک cron job انجام دهید، که البته این قضیه از حوصله این مطلب خارج است.
اگر از سرویسهایی مثل Let’s Encrypt استفاده کنید، بعضی هاستهای وبی در حقیقت امر، مدیریت رایگان آن Cron Jobs ها را ارائه میدهند. یکی از هاستهایی که اینچنین است، هاست SiteGround میباشد.
خلاصه هر یک از گزینهها را که انتخاب کنید، پس از سفارش یک گواهینامه با صفحهای مانند صفحه پایین مواجه میشوید. هم گواهینامه و هم کلید، هر دو بخشی از پکیج سفارشدادهشده هستند.
هر دو خانهی متنهای رمزگذاریشده را کپی کرده و در جایی امن ذخیرهشان کنید.
مرحله ۲: نصب گواهینامه SSL
اکثر آموزشهایی که نحوه نصب یک گواهینامه SSL را شرح میدهند، میگویند برای این کار باید یک IP مخصوص داشته باشید. این بدان معناست که باید یک طرح میزبانی وب (hosting plan) مخصوص گرانقیمتتر خریداری کنید.
در صورتی که همچین طرحی داشته باشید، وقتی وارد حسابتان شوید مشاهده خواهید کرد که همراه با این طرح یک IP مخصوص نیز وجود دارد.
اگر طرح هاستینگ شما طرحی اشتراکی باشد، بدین معنا که وبسایتهای متعددی از همان یک سرور استفاده کنند، در این صورت یک IP مخصوص که جزوی از URLتان باشد ندارید.
آیا این بدین معناست که نمیتوانید بدون داشتن یک طرح هاستینگ مخصوص، یک گواهینامه SSL نصب کنید؟ خیر، به لطف تکنولوژیای که Server Name Indicator یا SNI نام دارد، هنوز هم قادر به نصب یک گواهینامه SSL روی سایت خود هستید.
اگر یک طرح هاستینگ اشتراکی دارید، از هاست وبسایت خود سؤال کنید که آیا از تکنولوژی SNI برای رمزگذاری SSL پشتیبانی میکنند یا خیر.
برای نصب گواهینامه، باید به cPanel رفته و روی SSL/TLS Manager کلیک کنید.
گزینههای متنوعی برای مدیریت گواهینامههای SSL مشاهده خواهید کرد.
برای نصب نخستین گواهینامه SSL خود برای HTTPS، گزینه Install را انتخاب کنید.
بعد گزینهای مشاهده خواهید کرد که در آنجا باید دامنهای (domain) که میخواهید گواهینامه را در آنجا نصب کنید، انتخاب کنید. از منوی باز شو، دامنه درست را انتخاب کنید.
سپس متن طولانی و رمزگذاریشده گواهینامه (Certificate) را که موقع خرید/دریافت گواهینامه کپی کردید، اینجا جایگذاری کنید.
بعد صفحه را پایین بکشید و متن رمزگذاریشدهی Private Key (کلید خصوصی) را هم که موقع خرید گواهینامه کپی کردید، جایگذاری کنید.
وقتی همه چیز را ذخیره کردید، حواستان باشد که وارد ورد پرس شده و همه caching را ریفرش کنید. همچنین cache (حافظه پنهان) مروگر خود را نیز پاک کنید (کلیدهای ترکیبی Ctrl + F5 را بفشارید).
URL سایت را نوشته و پشت سر آن نیز عبارت «https://» را بگذارید، حالا سایت خود را دوباره باز کنید. اگر همه چیز درست باشد، پشت سر URL سایتتان با وضعیت «Secure» (امن) مواجه خواهید شد.
تبریک! حالا یک گواهینامه SSL در حال کار دارید. حالا دیگر دسترسی به سایتتان از طریق پروتکل HTTPS ممکن است.
ولی هنوز کارتان تمام نشده است. اگر کاربران هنوز همان URL قدیمی سایتتان را در مرورگرهای خود بنویسند، با همان نسخه نا امن روبهرو خواهند شد. باید همه رفت و آمدها را مجبور به استفاده از نسخه HTTPS کنید.
نحوه اجباری کردن پروتکل HTTPS سایت
هاست شما ممکن است در حقیقت امر بخشی مدیریتی برای اداره تغییرات مورد نیاز SSL برایتان تنظیم کرده باشد.
برای مثال، هاست Siteground سرویس Let’s Encrypt را در cPanel جایگذاری کرده است. بدین ترتیب، HTTPS Settings (تنظیمات HTTPS) به شما امکان میدهد ویژگیهای چون HTTPS Enforce (اجباری کردن HTTPS) و External Links Rewrite (بازنویسی لینکهای خارجی) را روشن کنید. طراحی سایت در اراک.
- HTTPS Enforce: رفت و آمدها (مثلاً کاربرانی که فقط URL سایت را بدون نوشتن «https» پیش از آن، تایپ میکنند) را به نسخه HTTPS باز هدایت میکند.
- External Links Rewrite: لینکهایی را که با «http» شروع میشوند به «https» تغییر میدهد. بدین صورت دیگر موقع باز کردن سایتتان یک هشدار «Mixed Content» (محتوای ترکیبشده) ظاهر نمیشود.
اگر این قابلیت خودکار را در هاست وب خود نداشته باشید، مجبورید این کار را به صورت دستی انجام دهید.
در ریشه (root) سرور وب خود، فایل.htaccess را بیابید. آن را طوری ویرایش کنید که شامل خطوط کد آورده شده در جدول پایین باشد.
به محض اینکه این تغییرات را ذخیره کنید، هر کسی که از طریق پروتکل HTTP اقدام به دسترسی به سایتتان کند، به پروتکل HTTPS باز هدایت خواهد شد.
مشکل ۱: تصاویر سرویس CDN (شبکه تحویل محتوا)
در این لحظه شاید فکر کنید دیگر راحت شدهاید، خب… بهتر است تجدید نظر کنید.
در بسیاری از موارد، شاید سایتتان بالا بیاید، اما بسیاری از تصاویر سایت خراب خواهند بود.
این اتفاق میتواند به این دلیل رخ داده باشد که برای تصاویر خود از سرویس CDN استفاده کرده باشید. علت این خرابی آنجاست که تمام تصاویر سایتتان از طریق لینکهای نا امن سرویس CDN تهیه شدهاند. و از آنجایی که تمام رفت و آمدهای سایت به پروتکل HTTPS باز هدایت میشوند، آن تصاویر دیگر قادر به بارگذاری نیستند.
دو راه برای حل این مشکل وجود دارد. راحتترین آنها این است که گواهینامه SSL خود را طوری تنظیم کنید که از یک وایلد کارت (wildcard) استفاده کند. برای مثال اگر سرویس Let’s Encrypt داشته باشید، در صفحه مدیریت SSL با گزینه استفاده از یک وایلد کارت مواجه خواهید شد.
وایلد کارت به شما امکان میدهد از گواهینامه SSL خود در همه زیر دامنههای (subdomain) سایتتان استفاده کنید.
این گزینه را فعال کرده، سپس متنهای رمزگذاریشدهی Certificate، Private Key و فایل CA bundle را از اطلاعات SSL بردارید.
به سرویس CDN خود بروید. در مثال پایین، ما از MaxCDN استفاده کردهایم. باید در بخشی که امکان مدیریت Zone سایتتان را در آنجا دارید، یک گزینه «SSL» پیدا کنید. در این بخش باید یک گزینهی SSLای پیدا کنید که بتوانید در آنجا Zone سایتتان را مدیریت کنید.
اینجا مشخصههایی مشاهده خواهید کرد که میتوانید SSL Certificate و Private Key را در آنها جایگذاری کنید.
از همان متون رمزگذاریشده که قبلاً در cPanel جایگذاریشان کردید استفاده کنید.
وقتی این تغییرات را ذخیره کنید، قاعدتاً تمام تصاویرتان به درستی روی سایت بارگذاری خواهند شد.
اگر سرویس SSLای که از آن استفاده میکنید آپشن وایلد کارت ارائه نمیدهد، باید یک گواهینامه SSL دیگر برای تصاویر سرویس CDN خود تهیه کرده و با استفاده از مراحل بالا آن را نصب کنید.
مشکل ۲: لینکهای نا امن
اگر به جز فعال کردن گواهینامه SSL و اجباری کردن پروتکل HTTPS کار دیگری روی سایتتان انجام نداده باشید، احتمالاً هنوز هم خطای «Not Secure» را ببینید.
این پیام حتی با وجود اینکه سایتتان دارد از طریق پروتکل HTTPS بارگذاری میشود هم سر و کلهاش پیدا شده است! معمولترین علت این مشکل این است که شما هنوز هم یک سری لینکهای نا امن روی سایت خود دارید؛ معمولاً هم به خاطر لینکهای موجود در هدر (header)، فوتر (footer) یا نوار کناری (sidebar) سایتتان است.
وارد ورد پرس شوید و به کدهای فوتر و هدر سایت، و البته ویجتهای نوار کناری نگاه کنید. دنبال لینکهایی که مال سرویسهایی چون Gravatar، Facebook و غیره هستند بگردید.
آن لینکها را طوری تغییر دهید که به جای «http» از «https» استفاده کنند.
وقتی کارتان تمام شد، همه cacheها (حافظه پنهان) را پاک کرده و سایت را دوباره بارگذاری کنید. با این کار تمام مشکلات حل میشوند و سایتتان کاملاً امن میشود.
محافظت کردن از بازدیدکنندگانتان به وسیله پروتکل HTTPS حرکتی هوشمندانه است
حتی با وجود اینکه شاید محرک اصلی شما برای انجام این کار تقویت سئوی سایتتان باشد، اما حقیقت از این قرار است که اینگونه از بازدیدکنندگان سایتتان در برابر هکرهای فضول محافظت میکنید.
مخصوصاً اگر از بازدیدکنندگانتان اطلاعات خصوصیای مانند نام، آدرس، شماره تلفن یا اطلاعات کارت اعتباری درخواست کنید، چنین پروتکلی بسیار ارزشمند است. برای سایتهای شخصی نیز چنین پروتکلی به همان اندازه مهم است.