Налаштування HSTS (HTTP Strict Transport Security) для сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування HSTS (HTTP Strict Transport Security) для сайту
Проста
~2-3 години
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування HSTS (HTTP Strict Transport Security) для сайту

HSTS — механізм, при якому браузер запам'ятовує, що сайт доступний тільки по HTTPS, і більше не пробує HTTP-з'єднання. Один заголовок у конфігурації сервера усуває цілий клас атак типу SSL stripping.

Як це працює

Сервер відправляє заголовок:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Після першого візиту браузер кешує цю директиву на 365 днів. Усі наступні запити до домену та його поддоменів автоматично переводяться на HTTPS ще до відправлення в мережу — без редиректа 301, без round-trip на сервер.

Налаштування на Nginx

server {
    listen 443 ssl http2;
    server_name example.ua www.example.ua;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    # Решта конфігурації...
}

Параметр always критичний — без нього заголовок не відправляється при помилкових відповідях (4xx, 5xx).

Налаштування на Apache

<VirtualHost *:443>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</VirtualHost>

Модуль mod_headers має бути включений: a2enmod headers.

Пошагове введення

Різка активація HSTS з max-age=31536000 на продакшен-сайті — ризик. Якщо потім виявиться, що SSL-сертифікат не покриває якийсь поддомен, користувачі не зможуть попасти на нього місяц і більше.

Рекомендуваний порядок:

  1. Переконатися, що всі поддомени працюють по HTTPS
  2. Налаштувати автоматичне оновлення сертифікатів (Let's Encrypt + Certbot або аналог)
  3. Встановити max-age=300 (5 хвилин), перевірити тиждень
  4. Збільшити до max-age=2592000 (30 днів)
  5. Встановити max-age=31536000; includeSubDomains
  6. Подати заявку на включення в HSTS Preload List

HSTS Preload List

Заявка подається на hstspreload.org. Після включення в список браузери Chrome, Firefox, Safari знають про ваше HSTS-вимогу ще до першого візиту користувача. Убрати домен зі списку — процедура довгого (кілька місяців), тому включають тільки домени з міцною HTTPS-інфраструктурою.

Вимоги для preload:

  • max-age не менше 31536000
  • Директива includeSubDomains
  • Директива preload
  • Усі поддомени мають підтримувати HTTPS

Строк реалізації

Базова настройка заголовка — 1–2 години включаючи тестування. Повний цикл до preload-статусу — 2–4 тижні з урахуванням поетапного наращивання max-age.