Перехід вашого веб-сайту на HTTPS є важливим кроком як для безпеки, так і для довіри користувачів. Якщо ваш веб-сервер на базі Linux все ще дозволяє доступ через звичайний HTTP, ви піддаєте ризику своїх відвідувачів і дані. У цьому посібнику ми пояснимо, як правильно перенаправити весь трафік з HTTP на HTTPS за допомогою звичайних налаштувань сервера Linux. Незалежно від того, чи використовуєте ви Apache або Nginx, процес є простим і критично важливим для підтримки безпечного і сприятливого для SEO середовища.

Навіщо перенаправляти на HTTPS?

Перехід на HTTPS (SSL/TLS) забезпечує:

  • Зашифрований зв’язок між користувачами та вашим сервером
  • Покращене SEO ранжування (Google надає перевагу HTTPS)
  • Індикатори довіри, такі як іконка замка в браузері
  • Відповідність сучасним веб-стандартам

Після того, як ви встановили SSL-сертифікат, наступним кроком буде примусове перенаправлення всього трафіку через захищений протокол HTTPS.

Apache: Перенаправлення HTTP на HTTPS

Якщо ваш сервер використовує Apache, ось як налаштувати перенаправлення.

Крок 1: Увімкніть модуль перезапису

Переконайтеся, що mod_rewrite увімкнено:

sudo a2enmod rewrite
sudo systemctl перезапустити apache2

Крок 2: Оновлення конфігурації віртуального хоста

Відкрийте файл конфігурації віртуального хоста HTTP(port 80):

sudo nano /etc/apache2/sites-available/000-default.conf

Потім вставте це всередині блоку :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Збережіть файл і вийдіть з нього, а потім перезапустіть Apache:

sudo systemctl restart apache2

Nginx: Перенаправлення HTTP на HTTPS

Якщо ваш сервер використовує Nginx, перенаправлення виконується в серверному блоці сайту.

Крок 1: Редагування конфігураційного файлу Nginx

sudo nano /etc/nginx/sites-available/default

Крок 2: Додавання блоку перенаправлення

Над існуючим блоком server для HTTPS додайте це:

server {
    listen 80;
    ім'я_сервера yourdomain.com www.yourdomain.com;

    return 301 https://$host$request_uri;
}

Замініть yourdomain.com на ваше дійсне ім’я домену. Потім протестуйте і перезавантажте:

sudo nginx -t
sudo systemctl перезавантажити nginx

Необов’язково: Перенаправити www на не-www (або навпаки)

Ви також можете поєднати застосування HTTPS з канонізацією домену.

Приклад: Перенаправлення www на non-www (з HTTPS) в Nginx:

server {
    listen 80;
    ім'я_сервера www.yourdomain.com;

    return 301 https://yourdomain.com$request_uri;
}

Тестування редиректу

Після того, як ви зробили зміни, протестуйте їх:

Заключні зауваження

  • Переконайтеся, що ваш SSL-сертифікат дійсний і встановлений, перш ніж примусово використовувати HTTPS.
  • Завжди використовуйте 301 (постійний) редирект, щоб уникнути проблем з SEO.
  • Використовуйте логіку перенаправлення на рівні веб-сервера, а не через PHP або JavaScript.