Налаштування SSL/TLS-сертифіката
SSL/TLS-сертифікат забезпечує HTTPS: шифрує трафік між браузером і сервером. Без нього браузери показують попередження «Небезпечне з'єднання», Google знижує позиції, сучасні API (PWA, Web Push, Geolocation) недоступні.
Типи сертифікатів
| Тип | Верифікація | Коли використовувати |
|---|---|---|
| DV (Domain Validation) | Тільки домен | Більшість сайтів |
| OV (Organization Validation) | Домен + організація | Корпоративні сайти |
| EV (Extended Validation) | Розширена перевірка | Банки, платіжні системи |
Wildcard *.example.ua |
Усі поддомени | Мультисубдоменна архітектура |
| Multi-domain (SAN) | Кілька доменів | Кілька сайтів |
Для більшості сайтів: Let's Encrypt DV (безплатно) або платний DV від Comodo/Sectigo.
Налаштування в Nginx
server {
listen 443 ssl http2;
server_name example.ua www.example.ua;
ssl_certificate /etc/letsencrypt/live/example.ua/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.ua/privkey.pem;
# Рекомендовані настройки TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS — сказати браузеру використовувати тільки HTTPS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# OCSP Stapling — прискорити перевірку сертифіката
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
ssl_trusted_certificate /etc/letsencrypt/live/example.ua/chain.pem;
# Session cache для прискорення handshake
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
}
# HTTP → HTTPS редирект
server {
listen 80;
server_name example.ua www.example.ua;
return 301 https://example.ua$request_uri;
}
Встановлення платного сертифіката
# 1. Генерація CSR (Certificate Signing Request)
openssl req -new -newkey rsa:2048 -nodes \
-keyout example.ua.key \
-out example.ua.csr \
-subj "/C=UA/ST=Kyiv/L=Kyiv/O=Company Ltd/CN=example.ua"
# 2. Завантажити CSR у панель центру сертифікації
# 3. Пройти верифікацію (DNS-запис або файл)
# 4. Отримати сертифікат (fullchain.crt) та встановити
# Nginx: шлях до сертифіката
ssl_certificate /etc/ssl/example.ua/fullchain.crt;
ssl_certificate_key /etc/ssl/example.ua/example.ua.key;
Перевірка
- SSL Labs — повний аналіз конфігурації TLS, ціль: оцінка A+
-
openssl s_client -connect example.ua:443— перевірка в терміналі -
curl -vI https://example.ua— перевірити заголовки та TLS
Строки налаштування: кілька годин для Let's Encrypt; 1–3 дня для платного OV/EV з верифікацією.







