Інструкції та туторіали по хостингу Практика

SSL-сертифікат на хостингу: встановлення, перевірка та типові помилки, які вбивають довіру до вашого сайту

Лупа на клавіатурі символізує перевірку ssl-сертифіката онлайн на хостингу

Уявіть: потенційний клієнт заходить на ваш сайт, бачить у браузері червоний замочок і напис «Не безпечно» - і просто закриває вкладку. Без роздумів. Без повернення. За статистикою Google, 84% користувачів покидають сайт, якщо з'являється попередження про небезпечне з'єднання. Ви могли витратити місяці на дизайн, SEO, контент - а один відсутній або прострочений SSL-сертифікат перетворює все це на порожню витрату грошей. Сьогодні розбираємо по кісточках: як встановити SSL на різних хостингах, як перевірити, що він працює правильно, і які підступні помилки чатуються у конфігурації, поки ви спокійно п'єте каву.

Що таке SSL і чому без нього ваш сайт - голий посеред площі

SSL (Secure Sockets Layer) - це протокол шифрування, який захищає дані між браузером відвідувача і вашим сервером. Коли хтось вводить пароль, номер картки або навіть просто заповнює форму зворотного зв'язку - SSL шифрує цю інформацію, щоб ніхто «по дорозі» не міг її перехопити. Без нього дані летять відкритим текстом. Буквально як листівка без конверта.

Але справа не тільки у безпеці. Google ще у 2014 році офіційно оголосив HTTPS фактором ранжування. З 2018-го Chrome почав маркувати всі HTTP-сайти як небезпечні. А з 2024 року деякі браузери взагалі блокують автоматичне завантаження незахищеного контенту. Немає SSL - немає позицій, довіри і конверсій. Три удари одним замахом.

Код мови програмування на ноутбуці для let's encrypt установки на сервері
Код мови програмування на ноутбуці для let's encrypt установки на сервері

Типи SSL-сертифікатів: який обрати і не переплатити

Перш ніж встановлювати що-небудь, потрібно зрозуміти, який сертифікат вам потрібен. Ось коротка карта:

Тип сертифіката Для кого Вартість Час видачі
DV (Domain Validation) Блоги, лендінги, невеликі сайти Безкоштовно - $20/рік Хвилини
OV (Organization Validation) Корпоративні сайти, інтернет-магазини $50 - $200/рік 1-3 дні
EV (Extended Validation) Банки, фінтех, великий e-commerce $100 - $500/рік 3-7 днів
Wildcard Сайти з піддоменами (*.example.com) $70 - $300/рік Хвилини - 3 дні

Для 90% українських сайтів достатньо DV-сертифіката. Let's Encrypt видає їх безкоштовно, і більшість хостингів підтримують автоматичну установку. Якщо у вас інтернет-магазин з обробкою платежів - подумайте про OV. EV потрібен одиницям, і якщо ви не знаєте, що це - вам він точно не потрібен.

«Let's Encrypt видав понад 4 мільярди сертифікатів з моменту запуску. Безкоштовне шифрування перестало бути компромісом - це стандарт індустрії.» - Josh Aas, засновник Internet Security Research Group (ISRG)

Покрокова установка SSL: три сценарії для різних хостингів

Тепер до практики. Сценарій залежить від того, яка панель керування у вашого хостера.

Сценарій 1: cPanel (найпоширеніший варіант)

  1. Увійдіть у cPanel і знайдіть розділ «Security» або «Безпека».
  2. Натисніть «SSL/TLS Status» - тут побачите всі домени на акаунті.
  3. Якщо хостер підтримує AutoSSL (більшість підтримують), натисніть «Run AutoSSL» - сертифікат Let's Encrypt або Sectigo встановиться за 2-5 хвилин.
  4. Перевірте: відкрийте сайт через https:// - замочок має бути зеленим.
  5. У розділі «SSL/TLS» активуйте «Force HTTPS Redirect», щоб всі відвідувачі автоматично потрапляли на захищену версію.

Сценарій 2: Plesk

  1. Зайдіть у «Websites & Domains» і оберіть потрібний домен.
  2. Натисніть «SSL/TLS Certificates» і далі «Install» біля Let's Encrypt.
  3. Поставте галочки: «Secure the domain» та «Include www».
  4. Натисніть «Get it free» - готово через хвилину-дві.
  5. Увімкніть «Permanent SEO-safe 301 redirect from HTTP to HTTPS».

Сценарій 3: VPS без панелі (для тих, хто не боїться терміналу)

  1. Підключіться через SSH до сервера.
  2. Встановіть Certbot: sudo apt install certbot python3-certbot-nginx (або python3-certbot-apache).
  3. Запустіть: sudo certbot --nginx -d example.com -d www.example.com
  4. Certbot автоматично оновить конфігурацію Nginx і додасть redirect.
  5. Перевірте автопродовження: sudo certbot renew --dry-run

Весь процес на VPS займає 5-7 хвилин. Менше, ніж зварити борщ.

Менеджер перевіряє звіти про https налаштування та ssl-сертифікат на хостингу
Менеджер перевіряє звіти про https налаштування та ssl-сертифікат на хостингу

Перевірка SSL: п'ять ознак, що все працює правильно

Встановити сертифікат - це половина справи. Перевірити, що він реально працює без дірок - ось де починаються сюрпризи.

  • SSL Labs Test (ssllabs.com/ssltest) - безкоштовний інструмент від Qualys. Вводите домен, чекаєте 2 хвилини, отримуєте оцінку від A+ до F. Все, що нижче A - привід розбиратися.
  • Mixed Content - перевірте, чи немає на сторінках ресурсів, що завантажуються через HTTP (картинки, скрипти, шрифти). Консоль браузера (F12 - Console) покаже попередження жовтим або червоним.
  • Дата закінчення - натисніть на замочок у браузері і подивіться «Certificate valid until». Let's Encrypt видає сертифікати на 90 днів, і якщо автопродовження зламалось - ви дізнаєтесь у найневдаліший момент.
  • Redirect з HTTP на HTTPS - відкрийте http://ваш-сайт.com і переконайтесь, що вас перекидає на https-версію. Якщо ні - пошукові системи бачать два дублі сайту.
  • HSTS-заголовок - додатковий рівень захисту, який каже браузеру «ніколи не відкривай мене через HTTP». Перевіряється через securityheaders.com.

Ідеальний результат: оцінка A+ на SSL Labs, нуль Mixed Content попереджень, активний HSTS з max-age не менше 31536000 секунд (один рік).

Сім помилок, які перетворюють SSL з щита на ілюзію

За 15 років роботи з сайтами я бачив одні й ті самі граблі знову і знову. Ось хіт-парад:

  1. Забутий redirect - сертифікат стоїть, а HTTP-версія досі доступна. Google індексує обидві версії, SEO страждає, а частина відвідувачів бачить сайт без замочка.
  2. Mixed Content - класика. Ви переїхали на HTTPS, але картинки у статтях посилаються на http://. Браузер показує «Частково захищене з'єднання» або взагалі блокує ресурси. Рішення: масова заміна URL у базі даних (для WordPress - плагін Better Search Replace).
  3. Прострочений сертифікат - автопродовження Certbot зламалось тихо, cron-задача не спрацювала, і о третій ночі сайт починає лякати відвідувачів. Моніторте! UptimeRobot вміє перевіряти дату закінчення SSL.
  4. Самопідписаний сертифікат - деякі адміни ставлять self-signed «щоб було». Браузери такому сертифікату не довіряють і показують повноекранне попередження. Гірше, ніж без SSL взагалі.
  5. Неправильний ланцюжок сертифікатів - на десктопі все добре, а на мобільних - помилка. Причина: не встановлений intermediate certificate. SSL Labs покаже це одразу.
  6. Застарілий протокол - TLS 1.0 і TLS 1.1 давно вважаються небезпечними. Якщо ваш сервер їх підтримує - це зниження оцінки і потенційна вразливість. Залиште тільки TLS 1.2 та TLS 1.3.
  7. Відсутній CAA-запис у DNS - цей запис вказує, які центри сертифікації можуть видавати сертифікати для вашого домену. Без нього будь-хто теоретично може отримати сертифікат на ваше ім'я.

Кожна з цих помилок - як незачинені двері у квартирі. Окремо здається дрібницею. Разом - запрошення для неприємностей.

Віддалений офіс із робочим місцем для налаштування ssl-сертифіката на хостингу
Віддалений офіс із робочим місцем для налаштування ssl-сертифіката на хостингу

Автоматизація, яка рятує нерви: налаштовуємо «встановив і забув»

Найкращий SSL-сертифікат - той, про який ви не думаєте. Але щоб так вийшло, потрібно один раз нормально налаштувати автоматизацію.

Для shared-хостингу все просто: AutoSSL у cPanel оновлює сертифікати автоматично. Ваша задача - раз на місяць заходити у «SSL/TLS Status» і переконуватись, що статус «AutoSSL Domain Validated».

Для VPS Certbot при установці сам додає cron-задачу або systemd-таймер. Але перевірте вручну:

  • systemctl list-timers | grep certbot - має показати таймер, що спрацьовує двічі на добу.
  • certbot renew --dry-run - тестовий запуск без реального оновлення. Якщо бачите «Congratulations» - все працює.
  • Додайте webhook або email-повідомлення про невдале оновлення. Certbot підтримує --deploy-hook для запуску скриптів після успішного оновлення.

Для параноїків (і це комплімент) - налаштуйте зовнішній моніторинг. UptimeRobot, Oh Dear або StatusCake перевірятимуть термін дії SSL і надішлють алерт за 14, 7 і 3 дні до закінчення. Це коштує 0-10 доларів на місяць, а нервових клітин зберігає на мільйон.

Золоте правило: якщо ваш процес оновлення SSL потребує ручного втручання - це не процес, це бомба з годинниковим механізмом.

А що далі - коли замочок вже зелений?

Ви встановили SSL, перевірили Mixed Content, налаштували redirect і моніторинг. Що ще? Подумайте про такі речі: HSTS Preload List (ваш домен буде hardcoded у Chrome як HTTPS-only), OCSP Stapling (прискорює перевірку сертифіката на 30-100 мс), Certificate Transparency Monitoring (сповіщення, якщо хтось видасть сертифікат на ваш домен).

Але чесно? Для 95% сайтів достатньо того, що ми розібрали вище. SSL - це не подвиг і не rocket science. Це гігієна. Як мити руки перед їжею. Тільки замість рук - з'єднання між вашим сервером і браузером клієнта.

Запитання, яке варто поставити собі прямо зараз: коли востаннє ви перевіряли, що SSL на вашому сайті справді працює правильно? Не просто «замочок є» - а по-справжньому, через SSL Labs, з перевіркою ланцюжка, протоколів і дати? Якщо відповідь «ніколи» або «не пам'ятаю» - відкрийте ssllabs.com прямо зараз. Це безкоштовно і займе дві хвилини. А результат може вас неприємно здивувати.