ریدایرکت HTTP به HTTPS باید پس از آمادهشدن HTTPS معتبر انجام شود. ریدایرکت نه گواهی صادر میکند و نه خطای گواهی را برطرف میکند. ابتدا نشانی امن سایت را مستقیم باز کنید و مطمئن شوید بدون هشدار مرورگر و با محتوای درست پاسخ میدهد.
ریدایرکت HTTP به HTTPS از پنل
- در cPanel بخش Domains را باز کنید.
- دامنهٔ هدف را در فهرست پیدا کنید.
- اگر Force HTTPS Redirect برای آن در دسترس است، آن را روشن کنید.
- نشانی HTTP صفحهٔ اصلی و یک مسیر داخلی را باز کنید.
- رسیدن به همان صفحه با HTTPS و نبود حلقه را بررسی کنید.
نمایش و قابلیت استفاده از این گزینه به وضعیت دامنه، گواهی و تنظیم سرویس بستگی دارد. اگر گزینه غیرفعال یا غایب است، ابتدا علت را از میزبان بررسی کنید؛ چند ریدایرکت متداخل نسازید.
نمونهٔ Apache بدون پراکسی پایاندهندهٔ TLS
اگر روش پنل در دسترس نیست و میزبان استفاده از mod_rewrite را مجاز میداند، نمونهٔ زیر برای HTTPS مستقیم روی همان وبسرور قابل بررسی است. دامنهٔ نمونه را با نام اصلی واقعی عوض کنید و قواعد برنامه را حذف نکنید.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]
این نمونه برای هر معماری مناسب نیست. در حضور پراکسی یا CDN که TLS را پیش از سرور اصلی خاتمه میدهد، وضعیت HTTPS سرور میتواند با اتصال کاربر فرق داشته باشد. در چنین شرایطی روش مستند همان سرویس لازم است.
چرا حلقهٔ ریدایرکت ایجاد میشود؟
ممکن است یک لایه HTTPS را اجبار کند و لایهٔ دیگر درخواست را دوباره به HTTP برگرداند. نام اصلی برنامه، تنظیم www و سیاست CDN را با هم بررسی کنید. اعتماد بیقید به هدرهای ارسالشده از اینترنت نیز راهحل درستی برای تشخیص پراکسی نیست؛ فقط پراکسی معتبر باید در این تصمیم نقش داشته باشد.
بعد از ریدایرکت چه چیزهایی باقی میماند؟
تصاویر، فایلهای CSS و اسکریپتهایی که با HTTP در HTML آمدهاند ممکن است مشکل mixed content داشته باشند. ریدایرکت صفحهٔ اصلی همهٔ آنها را اصلاح نمیکند. لینکهای داخلی، نشانی سایت در برنامه، canonical و نقشهٔ سایت را با HTTPS هماهنگ کنید. گواهی باید نامهای مورد استفاده را پوشش دهد.
کنترل مسیرهای مهم
صفحهٔ داخلی، ورود، فرم و فایل استاتیک را بررسی کنید. برای فرمهای POST یا APIها، رفتار کد وضعیت و حفظ روش درخواست اهمیت دارد؛ قاعدهٔ عمومی را بیبررسی روی آنها اعمال نکنید. جزئیات پنل در مستند Domains و پیشنیازهای بازنویسی در راهنمای Apache آمده است.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.