امنیت و اعتبار سایت، مثل یک هزارتوی در هم پیچیده است و هر لایه از آن، میتواند اهمیت خاص و ویژهای داشته باشد. ریدایرکت http به https، یکی از مهمترین و ابتداییترین کارهایی است که باید برای امنیت و اعتبار سایت خود انجام دهید. در این مقاله میخواهیم بدانیم که چگونه http را به https تبدیل کنیم و اصلا این کار چه فایدهای دارد؟! اگر این سوال ذهن شما را هم به خود مشغول کرده است، این مطلب را از دست ندهید!
چرا باید HTTP را به HTTPS تبدیل کنیم؟
HTTP مخفف عبارت Hypertext Transfer Protocol است و با HTTPS در یک حرف اختلاف دارد: S که به معنای Secure است. از همین اختلاف، میتوان حدس زد که چرا ریدایرکت HTTP به HTTPS اهمیت دارد؛ برای امنیت بیشتر!
HTTPS به جای HTTP چند مزیت بزرگ برای سایت شما دارد:
- وبسایتهایی که از HTTPS استفاده میکنند، مورد اعتمادتر هستند؛ زیرا HTTPS از گواهی SSL/TLS برای رمزنگاری داده استفاده میکند و جلوی هر گونه جعل هویت را میگیرد.
- مرورگرهای مختلف، به سایتهایی که از HTTP استفاده میکنند برچسب ناامنی میزنند؛ بنابراین سایتهایی که از HTTPS استفاده میکنند اعتبار بالاتری دارند و در سئو، رتبه بهتری خواهند گرفت.
- HTTPS دادهها را در دو جهت رمزگذاری میکند: ارسال به سرور و بازگشت از سرور. بنابراین، استفاده از این پروتکل هم برای کاربران و هم برای وبسایت امنتر است.
- پروتکل HTTPS میتواند وبسایتها را بر اساس گواهی SSL احراز هویت کند تا کاربران ناخواسته وارد سایتهای جعلی نشوند. درست مانند اینکه تاکسیهای اینترنتی، شماره پلاک ماشین را به شما اعلام میکنند تا امنیتتان حفظ شود.
اگر تا کنون از HTTP استفاده میکردید، بهتر است تجدید نظر کنید و با روشهایی که در ادامه خواهیم گفت، برای ریدایرکت سایت به https اقدام کنید.
🍋پیشنهاد خواندنی: پروتکل https چیست؟ چه فرقی با HTTP دارد و چرا به آن نیاز داریم؟ |
روش اول: آموزش ریدایرکت HTTP به HTTPS در فایل htaccess
اگر به دنبال بهترین و مطمئنترین راه برای ریدایرکت http به https هستید، باید تغییراتی در فایل htaccess که در پنل مدیریت وردپرس شما قرار دارد اعمال کنید.
فرقی نمیکند برای مدیریت سایت خود از cpanel استفاده کنید یا دایرکت ادمین، در هر صورت برای ریدایرکت http به https در htaccess، میتوانید طبق مراحل زیر پیش بروید:
- وارد کنترل پنل هاست خود شوید.
- از قسمت Files وارد گزینه File Manager شوید.
- در صفحهای که باز میشود، از نوار کناری، فایل public_html را انتخاب کنید و سپس، فایل WordPress را باز کنید.
- در این قسمت، فایل .htaccess را پیدا کنید و روی آن کلیک راست کنید و گزینه edit را بزنید.
پس از ورود به بخش کدهای htaccess، چند راه پیش روی شماست:
۱- ریدایرکت http به https در تمام بخشهای سایت
در صورتی که میخواهید تمام سایت خود را به https ریدایرکت کنید، از کد زیر استفاده کنید:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
۲- ریدایرکت http به https در htaccess برای یک دامنه خاص
اگر فقط میخواهید بخشی از دامنهها از پروتکل https استفاده کند، از کد زیر استفاده کنید:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
۳- ریدایرکت یک پوشه خاص به https
در صورتی که قصد تغییر مسیر یک فایل خاص از فایلهای سایت خود را دارید، میتوانید از کد زیر کمک بگیرید:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L]
نکته مهم: در همه روشها، به جای عبارت www.yourdomain.com، آدرس سایت خود را وارد کنید. همچنین در روش آخر، به جای Folder نام پوشه مورد نظر خود را بنویسید.
روش دوم: نحوه تبدیل HTTP به HTTPS در وردپرس
اگر بخواهید از سایتهای وردپرسی استفاده کنید، پیشفرض سیستم روی Http است و برای تبدیل آن به Https باید کارهایی انجام دهید. فرایند تبدیل http به https در وردپرس به دو شکل انجام میشود: با افزونه و بدون افزونه. در ادامه، هر دو روش را با هم بررسی خواهیم کرد.
تبدیل http به https در وردپرس با افزونه
با وجود افزونههای وردپرس، هیچ کاری دشوار نیست! تنها با نصب یک پلاگین ساده و چند کلیک، به راحتی میتوانید فرایند ریدایرکت http به https را پشت سر بگذارید. برای این کار، به شکل زیر پیش بروید:
- وارد پنل وردپرس خود شوید و از داشبورد خود، گزینه Plugins و سپس گزینه add new را انتخاب کنید.
- پلاگین Really Simple SSL را در نوار بالای صفحه جست و جو کنید.
- گزینه Install Now و پس از آن، گزینه Activate را بزنید تا افزونه برایتان فعال شود.
- در صفحهای که باز میشود، گزینه Go ahead, activate SSL! را بزنید.
- با فرایند بالا، گواهی SSL در سایت شما فعال خواهد شد. با این حال، بخشی از کارها به خود شما محول میشود که انجام آنها اجباری نیست، اما میتواند به بهبود امنیت سایت کمک کند.
اگرچه این روش بسیار ساده و سریع است، اما روش کاملی نیست؛ زیرا URLهایی را که با HTTP در دیتابیس شما ثبت شدهاند، به روز رسانی نخواهد کرد.
برای اینکه https به شکل دائمی در URLهای سایت شما اعمال شود، بهتر است روش بعدی را امتحان کنید.
🍋پیشنهاد خواندنی: ۶ روش رفع خطای HTTP در آپلود فایل در وردپرس |
ریدایرکت http به https در وردپرس بدون افزونه
اگرچه افزونهها کارها را برای ما راحتتر میکنند، اما همانطور که گفتیم، خیلی کامل و قوی نیستند و در کنار آنها، باید از روشهای دیگری هم استفاده کنید.
برای اینکه بدون افزونه، فرایند ریدایرکت http به https در وردپرس را انجام دهید، باید طبق مراحل زیر عمل کنید:
قدم اول؛ تغییر URL
- وارد داشبورد وردپرس خود شوید و از بخش Settings به قسمت General بروید.
- به سمت پایین صفحه بروید و در دو فیلد WordPress Address و Site Address، به انتهای http یک s اضافه کنید.
- Save Changes را بزنید تا تغییرات مورد نظر ما ذخیره شوند.
با انجام این کارها، خود به خود از داشبود خارج میشوید و مجددا به شکل خودکار وارد خواهید شد.
قدم دوم؛ ویرایش فایل .htaccess
برای تکمیل فرایند، باید در تنظیمات وبسایت خود، ریدایرکت ۳۰۱ را از ورژن http به https تغییر دهید. این کار باعث میشود که همه کاربران با https وارد سایت شما شوند؛ حتی اگر به شکل دستی، در آدرس سایت، http را وارد کرده باشند. برای حل این مشکل، باید تغییراتی در فایل htaccess اعمال کنید. برای این کار، طبق مراحل زیر عمل کنید:
- وارد کنترل پنل هاست خود شوید.
- از قسمت Files وارد گزینه File Manager شوید.
- در صفحهای که باز میشود، از نوار کناری، فایل public_html را انتخاب کنید و سپس، فایل WordPress را باز کنید. فایلهای نصبی سایت وردپرسی شما روی این قسمت قرار دارند.
- در این قسمت، فایل .htaccess را پیدا کنید و روی آن کلیک راست کنید و گزینه edit را بزنید.
- پیش از خطی که با # BEGIN WordPress آغاز میشود، کد زیر را اضافه کنید:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"
قدم سوم؛ مشکل Mixed Content را حل کنید
تا اینجای کار، شما http را به https تبدیل کردهاید؛ اما وقتی کاربران میخواهند وارد سایت شوند، با ارور Mixed Content مواجه میشوند. دلیل این خطا، این است که برخی از محتواهای شما، مانند تصاویر، اسکریپتها یا تمها، همچنان با http ریدایرکت میشوند.
برای رفع این مشکل، باید طبق مراحل زیر عمل کنید:
- افزونه Better Search Replace را نصب و فعالسازی کنید.
- از قسمت Tools وارد تنظیمات افزونه شوید.
- در نوار جست و جو یا همان Search For، نام دامنه خود را با HTTP وارد کنید.
- در نوار Replace With، نام دامنه را با HTTPS وارد کنید.
- در بخش Select Tables تمام جدولهای پایگاه داده خود را انتخاب کنید تا افزونه تمامی HTTPهای موجود را جستوجو و جایگزین کند.
- تیک کنار گزینه Run as dry run؟ را بردارید.
- روی دکمه Run Search/Replace کلیک کنید تا فرایند جایگزینی آغاز شود.
مدت زمان جایگزینی، بستگی به بزرگی پایگاه دادههای شما خواهد داشت؛ با این حال این فرایند خیلی هم طول نمیکشد.
در صورتی که پس از انجام این کارها، همچنان مشکل Mixed Content روی سایت شما باقی ماند، ممکن است مشکل از قالب وردپرس یا افزونههای شما باشد. در این حالت، میتوانید از ابزارهای بازرسی مرورگر استفاده کنید و URLهای مربوط به قالب خود را به صورت تک به تک جایگزین نمایید.
همچنین، اگر در فرایند بررسی متوجه شدید مشکل از یکی از افزونههای سایت شماست، نباید آن را دستکاری کنید؛ بهتر است افزونه را تغییر دهید یا با تیم پشتیبانی آن در تماس باشید تا مشکل را برایتان حل کنند.
نکته مهم: به یاد داشته باشید که پس از ریدایرکت http به https، حتما دامنه خود را به همراه https در سرچ کنسول ثبت کنید. با این کار، رتبه سئو سایت شما به نسخه https منتقل میشود. |
روش سوم: آموزش ریدایرکت HTTP به HTTPS در cPanel
فرایند ریدایرکت http به https در cPanel بسیار ساده و بیدردسر است. برای انجام این کار، دو قدم پیش روی شماست؛ استفاده از بخش Domain و سپس، یک تغییر کوچک در فایل .htaccess که در پنل مدیریت سایت شما قرار دارد.
پس از نصب و فعالسازی گواهی ssl، طبق مراحل زیر عمل کنید:
- وارد پنل مدیریت خود شوید و از بخش Domains روی گزینه Domains کلیک کنید.
- در نوار مربوط به آدرس دامنه سایت شما، یک گزینه با عنوان Force Https Redirect وجود دارد؛ کلید مربوط به این گزینه را فعال کنید.
- در صورتی که گزینه Force Https Redirect را مشاهده نمیکنید، مطمئن شوید که گواهی SSL خود را فعال کردهاید. برای این کار، مقاله آموزش نصب ssl در سی پنل و دایرکت ادمین را در لیموهاست بخوانید.
پس از انجام این کارها، ممکن است سایت شما با ارور Mixed Content مواجه شود. برای حل این موضوع حین فرایند ریدایرکت HTTP به HTTPS در سی پنل، طبق مراحل زیر پیش بروید:
- وارد کنترل پنل هاست خود شوید.
- از قسمت Files وارد گزینه File Manager شوید.
- در صفحهای که باز میشود، از نوار کناری، فایل public_html را انتخاب کنید و سپس، فایل WordPress را باز کنید.
- در این قسمت، فایل .htaccess را پیدا کنید و روی آن کلیک راست کنید و گزینه edit را بزنید.
- کد زیر را به ابتدای صفحه کدهای htaccess اضافه کنید:
<ifModule mod_headers.c>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>
🍋پیشنهاد خواندنی: گواهینامه SSL چیست و چه کاربردی دارد؟ |
روش چهارم: نحوه ریدایرکت HTTP به HTTPS در IIS
یکی از روشهای اصولی برای ریدایرکت http به https، استفاده از IIS یا Internet Information Services است. این برنامه، محصولی از شرکت مایکروسافت است و با استفاده از آن، میتوانید پروتکل http سایت خود را به https تبدیل کنید.
برای استفاده روش ریدایرکت HTTP به HTTPS در IIS، ابتدا برنامه IIS manager را از سایت مایکروسافت دانلود و نصب کنید. سپس، طبق مراحل زیر پیش بروید:
- وارد کنسول IIS manager شوید، سایت خود را انتخاب کنید و ماژول URL Rewrite را باز کنید. در صورتی که این ماژول را پیدا نمیکنید، آن را از این لینک دانلود کنید.
- در صفحهای که باز میشود، در منوی سمت راست، روی گزینه Add Rule(s) بزنید و سپس، گزینه Blank Rule را از قسمت Inbound انتخاب کنید و دکمه OK را بزنید.
- نام دلخواه خود را وارد کنید تا وارد بخش Match URL شوید. سپس در این بخش، کارهای زیر را انجام دهید:
- در بخش Requested URL گزینه Matches the Pattern را انتخاب کنید.
- در بخش Using گزینه Regular Expressions را علامت بزنید.
- در باکس مربوط به بخش Pattern علامت (.*) را جایگزین کنید.
- گزینه Ignore case را علامت بزنید.
- در بخش Conditions، از میان زیرمجموعههای Logical Grouping گزینه Match all را انتخاب کنید و سپس دکمه Add را بزنید.
- در صفحهای که باز میشود، نکات زیر را وارد کنید:
-
- در بخش condition input عبارت {HTTPS} را وارد کنید.
- در منوی کشویی، گزینه Matches the Pattern را انتخاب کنید.
- در بخش pattern، عبارت ^OFF$ را وارد کنید.
- دکمه OK را بزنید.
- در بخش Action، گزینه Redirect را به عنوان action type انتخاب کنید و در قسمت Redirect URL عبارت زیر را بنویسید:
https://{HTTP_HOST}{REQUEST_URI}
- تیک گزینه Append query string را بردارید.
- بخش Redirect type را روی Permanent (301) تنظیم کنید.
- در قسمت سمت راست منوی Action روی گزینه Apply بزنید.
با انجام این فرایند، ریدایرکت http به https در سایت شما انجام خواهد شد.
🍋پیشنهاد خواندنی: انواع گواهینامه SSL؛ کدامیک مناسب شماست؟! |
روش پنجم: نحوه HTTP به HTTPS در دایرکت ادمین
در صورتی که برای مدیریت سایت خود از دایرکت ادمین استفاده میکنید، میتوانید از همین پنل برای انجام فرایند ریدایرکت سایت به https اقدام کنید.
برای این کار، ابتدا گواهی SSL را برای سایت خود فعال کنید. برای این کار، میتوانید از مقاله آموزش نصب ssl در سی پنل و دایرکت ادمین کمک بگیرید. سپس، طبق مراحل زیر عمل کنید:
- وارد پنل مدیریت خود شوید و در قسمت Your Account، روی گزینه File Manager بزنید.
- در این قسمت، فایل Public_html را باز کنید و سپس، htaccess. را پیدا کنید.
- روی دکمه edit که مقابل فایل قرار دارد بزنید.
- در ویرایشگر کد، کدهای دستوری زیر را به فایل اضافه کنید.
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
HTTPS، قفل محکم سایت شما!
فرقی نمیکند از کدام روش برای ریدایرکت http به https استفاده کنید، در هر صورت، با این کار لطف بزرگی به سایت خود و کاربران آن کردهاید! این پروتکل، از دادههای سایت شما محافظت میکند و با انجام احراز هویت، مانع از درز اطلاعات سایت یا کاربران خواهد شد. پس اگر تا الان کاری برای ریدایرکت سایت به https نکردهاید، حتما همین الان اقدام کنید.
اگر در فرایند تبدیل http به https مشکلی پیش آمد، حتما آن را با ما مطرح کنید. همچنین اگر روش بهتری برای انجام این فرایند میشناسید، ممنون میشویم که آن را در بخش کامنتها با باقی کاربران در میان بگذارید.
منابع: hubspot | freecodecamp
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید