دوره جامع مدیریت سایت

HSTS چیست و چطور آن را فعال کنیم

HSTS چیست و چطور آن را فعال کنیم

اگر روی سایت خود از https استفاده می‌کنید، بهتر است برای افزایش امنیت و افزایش سرعت سایت خود حتما HSTS را فعال کنید. HSTS به معنای HTTP Strict Transport Security هست که به شما اجازه می‌دهد با حملات man-in-the-middle را مقابله کنید. شاید کمی سخت شد. اما در ادامه اینکه HSTS چیست و چطور می‌توانیم آن را روی وردپرس نصب کنیم توضیح خواهم داد.

HSTS چیست و چگونه کار می‌کند

به‌صورت کلی زمانی که شما SSL را روی سایت خود نصب می‌کنید، باید در تنظیمات سایت وردپرسی خود آدرس سایتتان را به https تغییر دهید. در نتیجه برای باز کردن سایت‌تان، اگر آدرس سایت را به صورت http://mihanwp.com در مرورگر وارد کنید، به‌صورت خودکار به https://mihanwp.com منتقل خواهید شد.

این انتقال توسط درخواستی که از سمت وب سرور شما برای مرورگر ارسال می‌شود، صورت خواهد گرفت. اما اگر خود مرورگر با دیدن آدرس سایت شما، این انتقال را در آینده انجام دهد بهتر نیست؟ قطعا این روش بسیار بهتر است. برای اینکار از HSTS استفاده می‌کنیم.

HSTS چگونه کار می‌کند
HSTS چگونه کار می‌کند

فعال کردن HSTS در وردپرس

برای فعالسازی HSTS در وردپرس باید یک هدر جدید در درخواست‌های سمت سرور برای مرورگر کاربر ارسال شود. برای این‌کار کافیست بسته به وب سرور سایت خود از این ۲ روش استفاده کنید.

فعالسازی در وب سرور آپاچی و لایت اسپید (مناسب برای ۹۹ درصد سایت‌ها)

برای فعالسازی HSTS در وب سرور آپاچی و لایت اسپید، کافیست وارد فایل منیجر هاست خود شوید. فایل منیجر هاست در سی پنل و دایرکت ادمین با نام FileManager در دسترس است.

بعد از ورود به فایل منیجر، وارد پوشه public_html شوید. سپس فایل .htaccess را ویرایش کرده و کد زیر را در این فایل قرار دهید:

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000;preload" env=HTTPS
</IfModule>

سپس این فایل را ذخیره کنید. حالا مشاهده می‌کنید که سایت شما به‌صورت خودکار از http به https ریدایرکت می‌شود. حتی قبل از اینکه درخواست به وب سرور ارسال شود.

راستی! اگر می‌خواهید تمام ساب دامین‌های شما از https استفاده کنند، حتما این کد را جایگزین کد بالا کنید:

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;preload" env=HTTPS
</IfModule>

فعال کردن HSTS در وب سرور NGINX

اگر شما از وب سرور انجین ایکس استفاده می‌کنید، نحوه انجام کار کمی متفاوت هست. تقریبا ۱ درصد سایت‌های ایرانی از NGINX استفاده می‌کنند، پس به احتمال زیاد شما باید از روش قبلی استفاده کنید. اما در هر صورت اگر سرور مجازی یا اختصاصی دارید و وب سرور شما NGINX هست، کافیست فایل nginx.conf را در وب سرور خود پیدا کنید، سپس کد زیر را در Virtual Server مخصوص سایت خود اضافه کنید:

add_header Strict-Transport-Security "max-age=63072000;";

به همین راحتی! حالا وب سرور NGINX خود را ریستارت کرده و از HSTS در سایت خود لذت ببرید.

چطور مطمئن باشیم HSTS فعال است

برای اطمینان از فعال بودن HSTS روی سایت شما، کافیست وارد سایت https://gf.dev/hsts-test شوید.سپس سایت خود را وارد کرده و گزینه تست را کلیک کنید. این سایت وضعیت فعال بودن HSTS روی سایت شما را بررسی خواهد کرد. به این صورت:

موفق و شاد باشید.

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام میهن وردپرس عضو شوید.

نظر شما در این‌باره چیست؟

  1. U30244 ۲۷ فروردین ۱۴۰۰

    سلام.
    ممنون از این مقاله‌تون.
    قبل از خواندن این مقاله فکر می‌کردم که HSTS همان پروتکل HTTPS است. اما فهمیدم که فرق دارد و تو سایت خودم الان فعال کردم. خیلی ممنون. اگر امکانش هست یک مقاله هم راجع به SSH بگذارید.
    باتشکر از شما.

  2. U38774 ۲۲ فروردین ۱۴۰۰

    سلام بنده هر کار کردم در سایت بازهم میزنه که HSTS فعال نیست. 🙁