Налаштування HTTPS-редиректу та HSTS: конфігурація сервера

Уявіть: сайт працює по HTTPS, але частина посилань веде на HTTP, і браузер блокує завантаження. Або пошуковик індексує обидві версії, розмиваючи PageRank. Неправильний редирект вбиває SEO та довіру користувачів. Кожен втрачений клієнт через mixed content обходиться бізнесу в середньому $1000. Наша з

Розробка та обслуговування будь-яких видів сайтів:

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування HTTPS-редиректу та HSTS: конфігурація сервера
Простий
~2-3 години

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1286
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Уявіть: сайт працює по HTTPS, але частина посилань веде на HTTP, і браузер блокує завантаження. Або пошуковик індексує обидві версії, розмиваючи PageRank. Неправильний редирект вбиває SEO та довіру користувачів. Кожен втрачений клієнт через mixed content обходиться бізнесу в середньому $1000. Наша задача — налаштувати єдину HTTPS-версію з HSTS, щоб виключити витоки трафіку та downgrade-атаки. При правильному налаштуванні SEO-трафік може зрости до 15%, а час завантаження скоротиться на 30% за рахунок усунення зайвих редиректів. Ми займаємося цим багато років, виконали понад 120 проектів з міграції на HTTPS. Зв'яжіться з нами — проведемо безкоштовний аудит конфігурації та перевіримо ланцюжок редиректів і стан HSTS.

Чому одного редиректу недостатньо?

Редирект з HTTP на HTTPS — лише перший крок. Без HSTS браузер не запам'ятовує вимогу, і при наступному заході знову робить HTTP-запит, потенційно вразливий для man-in-the-middle. Крім того, ланцюжок з кількох редиректів (наприклад, http → https://www → https:// без www) збільшує час завантаження на 1–2 секунди та негативно впливає на Core Web Vitals. На практиці кожен додатковий редирект додає 50–100 мс до TTFB. Оптимальна схема: один редирект 301 з HTTP на HTTPS (з www або без) і одразу HSTS-заголовок.

Проблеми, які вирішує правильний редирект

  • Mixed content: коли HTTPS-сторінка підвантажує скрипти або стилі по HTTP. Це блокується браузером, і функціонал ламається. Ми перевіряємо всі ресурси та виправляємо протокол.
  • Downgrade-атаки: зловмисник перехоплює HTTP-запит і підміняє контент. HSTS з preload повністю виключає цей вектор.
  • SEO-втрати: подвійна індексація, некоректні редиректи, втрата посилальної ваги. Ми налаштовуємо канонічний URL та правильні статуси.

Як ми це робимо: стек і конфіги

Використовуємо перевірені зв'язки: Nginx + Laravel, Apache + WordPress, Cloudflare. Наводимо конфігурації для кожного випадку.

Nginx: редирект HTTP → HTTPS

# Редирект всего HTTP-трафика server { listen 80 default_server; listen [::]:80 default_server; server_name _; location /.well-known/acme-challenge/ { root /var/www/certbot; } location / { return 301 https://$host$request_uri; } } # Редирект www → non-www (або навпаки) + HTTPS server { listen 443 ssl; server_name ~^(www\.)?(.+)$; # SSL сертифікат – замініть на свій ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem; return 301 https://$2$request_uri; } # Основний сервер server { listen 443 ssl http2; server_name ~^(www\.)?(.+)$; # ... } 

HSTS додаємо в основний сервер:

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

Laravel: HTTPS в додатку

// AppServiceProvider + bootstrap/app.php public function boot(): void { if (app()->environment('production')) { URL::forceScheme('https'); } } ->withMiddleware(function (Middleware $middleware) { $middleware->trustProxies( headers: Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO, proxies: '*' ); }) 

Без trustProxies Laravel не бачить, що запит прийшов по HTTPS (Nginx → PHP по HTTP), і генерує HTTP-посилання. Це часта помилка, яка може коштувати тижнів індексації.

Apache: .htaccess

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] </IfModule> Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" 

Cloudflare

У панелі Cloudflare: SSL/TLS → Edge Certificates:

  • Always Use HTTPS → увімкнути
  • HSTS → увімкнути, max-age 12 місяців

Перевірка коректності редиректу

Використовуйте curl з прапорами -I та -IL:

curl -I https://ваш-домен | grep -i strict curl -IL http://ваш-домен 

Має повернутися заголовок Strict-Transport-Security: max-age=63072000; includeSubDomains; preload. Очікується не більше одного редиректу 301 (з www на non-www і HTTP на HTTPS). Якщо редиректів більше або з'являється помилка, то ланцюжок не оптимізовано.

Як усунути mixed content?

Після налаштування редиректу перевірте консоль браузера на предмет блокувань. Використовуйте інструмент Screaming Frog для сканування — він знайде всі ресурси, що завантажуються по HTTP. Ми замінюємо протокол у базі даних або використовуємо Content-Security-Policy: upgrade-insecure-requests. Останній змушує браузер автоматично апгрейдити HTTP-запити до HTTPS. На одному з проектів це скоротило час ручного виправлення з 8 годин до 10 хвилин.

Порівняння конфігурацій для різних серверів

Сервер Швидкість налаштування Гнучкість Ризик помилок
Nginx 15-30 хв Висока Низький (при правильному синтаксисі)
Apache 10-20 хв Середня Середній (через контексти)
Cloudflare 5 хв Низька Низький (налаштування через GUI)
Laravel +10 хв Середня Високий (trustProxies часто забувають)

Nginx обробляє редиректи на 30% швидше, ніж Apache — це в 1.3 рази менше навантаження на сервер.

Чек-лист: що перевірити після налаштування

Крок Команда / спосіб Очікуваний результат
Перевірка HTTP → HTTPS curl -I http://ваш-домен Status 301, Location: https://...
Перевірка www → non-www curl -I https://www.ваш-домен Status 301 або одразу 200
HSTS заголовок curl -I https://ваш-домен Strict-Transport-Security присутній
Mixed content Відкрити в браузері, консоль Немає блокувань
TrustProxies (Laravel) Перевірити generated URL Всі посилання https

Що входить у налаштування під ключ

  • Аудит поточної конфігурації: перевірка редиректів, HSTS, mixed content
  • Налаштування сервера (Nginx/Apache) або Cloudflare
  • Додавання HSTS з налаштуванням max-age і preload
  • Виправлення mixed content у коді та базі даних
  • Перевірка ланцюжка редиректів та SEO-метрик
  • Документація по виконаних роботах
  • Гарантія підтримки 30 днів після деплою

Процес роботи: від аудиту до деплою

  1. Аналітика: перевіряємо поточні редиректи, HSTS, mixed content, SEO-метрики.
  2. Проектування: обираємо схему (www vs non-www, піддомени), плануємо ланцюжок.
  3. Реалізація: налаштовуємо конфіги сервера, додаємо HSTS, оновлюємо додаток.
  4. Тестування: curl, browser console, SEO-інструменти (Screaming Frog).
  5. Деплой: викочуємо в продакшн з поступовим збільшенням max-age HSTS.

Строки та вартість

  • Базове налаштування Nginx/Apache з HSTS — від 1 години, вартість від 3000 грн.
  • Комплексне налаштування з Laravel, Cloudflare та усуненням mixed content — від 4 годин, вартість від 8000 грн.
  • Економія на рекламному трафіку після міграції — до $500 на місяць.
  • Оцінюємо проект безкоштовно. Пишіть у чат — проведемо аудит та підготуємо конфігурацію.

Згідно з документацією MDN HSTS