Посібники

Що таке HTTPS і SSL? Як працюють безпечні сайти, простими словами

HTTPS — це безпечна версія HTTP, протоколу, яким браузери спілкуються з сайтами. Він загортає кожен запит і відповідь у зашифроване з'єднання за допомогою TLS (Transport Layer Security), тож ніхто між відвідувачем і сайтом не може прочитати або підмінити надіслане. SSL — це старша назва тієї ж ідеї, протоколу, яким замінили TLS, тому люди й досі кажуть «SSL-сертифікат».

Чому HTTPS важливий, коли ви створюєте з ШІ

Будь-який застосунок, який ви публікуєте, має працювати через HTTPS. Це не лише добра практика:

  • Браузери цього очікують. Сайти на звичайному HTTP позначаються як «Не безпечно», а деякі функції браузера, як-от доступ до геолокації, камери й мікрофона або service workers для офлайн-застосунків, як правило, працюють лише на безпечних (HTTPS) сторінках.
  • Входи та форми. Без HTTPS паролі, сесійні cookie і дані форм передаються у вигляді тексту, який можна прочитати. Будь-хто в тій самій мережі кав'ярні потенційно може їх перехопити.
  • Платежі та сторонні сервіси. Платіжні провайдери, вхід через OAuth і багато API вимагають URL для переадресації та зворотного виклику через HTTPS.
  • Довіра і пошук. Відвідувачі помічають попередження, а Google заявляв, що враховує HTTPS як сигнал ранжування.

Добра новина: на більшості сучасних хостинг-платформ HTTPS налаштовується автоматично. Вам здебільшого потрібно розуміти частини достатньо, щоб виправити це, коли власний домен або попередження про змішаний вміст дають збій.

Повсякденна аналогія

Надсилання даних через звичайний HTTP схоже на відправлення листівки: кожен поштовий працівник, який її бере, може її прочитати, а хтось навіть може змінити повідомлення.

HTTPS — це запечатаний конверт, який не можна непомітно відкрити, і перед відправленням ви перевіряєте документ одержувача. Сертифікат — це цей документ, виданий довіреним органом (центром сертифікації), який перевірив, що сайт справді контролює домен. Шифрування — це запечатаний конверт. Документ доводить, що ви пишете за правильною адресою; конверт зберігає вміст приватним.

Як працює HTTPS, простими словами

Коли браузер відкриває https://shop.example.com:

  1. Привітання. Браузер підключається і повідомляє, які методи шифрування він підтримує.
  2. Сертифікат. Сервер надсилає свій сертифікат, у якому сказано «цей ключ належить shop.example.com» і підписано центром сертифікації.
  3. Перевірка. Браузер перевіряє підпис за органами, яким уже довіряє, перевіряє, що сертифікат не прострочений, і що домен збігається.
  4. Ключі. Браузер і сервер погоджують новий секретний ключ для цієї сесії, ніколи не надсилаючи його відкрито.
  5. Зашифрована розмова. Усі запити та відповіді — сторінки, дані форм, cookie — тепер передаються в зашифрованому вигляді.

Цей TLS-handshake триває кілька мілісекунд і відбувається автоматично. Відвідувач бачить лише значок замочка (або, в деяких браузерах, нейтральний значок інформації про сайт).

Що HTTPS захищає, а що ні

ЗахищаєНе захищає
Дані під час передачі між браузером і серверомДані, щойно вони опинилися на вашому сервері або в базі даних
Від підслуховування в публічному Wi-FiВід шкідливого чи шахрайського сайту
Від підміни сторінок під час передачіВід помилок у вашому застосунку, наприклад відсутніх перевірок доступу
Cookie і паролі під час передачіВід слабких паролів або витоку API-ключів

HTTPS шифрує вміст запитів, включно зі шляхом сторінки і рядком запиту. Але ім'я домену, яке ви відвідуєте, зазвичай залишається видимим для мереж на шляху. Саме тому ніколи не варто передавати персональні дані в URL: вони однаково потрапляють у журнали та історію браузера.

Робочий приклад: під'єднання власного домену

Скажімо, ви публікуєте застосунок для бронювання і хочете, щоб він був на book.myyogastudio.com:

  1. Ви додаєте DNS-запис, що вказує book.myyogastudio.com на ваш хостинг. Див. як працюють домени та DNS.
  2. Хост доводить центру сертифікації, що контролює цю назву, — зазвичай відповідаючи на перевірку на цьому домені — і отримує сертифікат.
  3. Хост встановлює його й автоматично продовжує до закінчення строку. Сертифікати навмисно короткоживучі, тож автоматичне продовження важливе.
  4. Відвідувачів http://book.myyogastudio.com перенаправляє на https://.

Якщо крок 1 зроблено неправильно — запис вказує деінде або перед сервером стоїть проксі — крок 2 може не пройти, і відвідувачі побачать помилку сертифіката. Це найпоширеніша проблема з HTTPS, з якою стикаються під час під'єднання власного домену.

Ключові терміни

ТермінЗначення
TLSTransport Layer Security, протокол шифрування, на якому працює HTTPS.
SSLSecure Sockets Layer, застарілий попередник TLS. Назва лишилася в ужитку.
СертифікатПідписаний файл, що пов'язує домен із публічним ключем.
Центр сертифікації (CA)Організація, якій браузери довіряють у видачі сертифікатів, наприклад Let's Encrypt.
Валідація домену (DV)Сертифікат, що підтверджує контроль над доменом — саме такий використовує майже кожен сайт.
Wildcard-сертифікатПокриває всі піддомени на один рівень, наприклад *.example.com.
Змішаний вміст (mixed content)Сторінка HTTPS, яка завантажує деякі ресурси через звичайний HTTP. Браузери блокують або попереджають про це.
HSTSЗаголовок, який каже браузерам завжди використовувати HTTPS для вашого сайту відтепер.
Порт 443Стандартний порт для HTTPS (HTTP використовує порт 80).

Поширені хибні уявлення

  • «Замочок означає, що сайт надійний». Він означає, що з'єднання приватне і домен збігається. Шахраї теж отримують сертифікати.
  • «HTTPS потрібен лише на сторінках оплати». Будь-яка сторінка з входом, формою чи cookie його потребує — а це майже кожен застосунок. Просто використовуйте його всюди.
  • «Сертифікати дорогі». Безкоштовні довірені сертифікати є стандартом, і більшість хостів керують ними за вас.
  • «HTTPS робить мій застосунок безпечним». Він захищає з'єднання. Вашому застосунку все одно потрібні перевірки доступу на сервері, безпечна робота з секретами і валідація вхідних даних. Див. чекліст безпеки для застосунків, створених з ШІ.
  • «HTTPS уповільнює сайти». Сучасний TLS додає дуже мало накладних витрат, а функції на кшталт HTTP/2, що прискорюють сайти, у браузерах зазвичай вимагають HTTPS.

Виправлення типових проблем із HTTPS

СимптомІмовірна причина
«Ваше з'єднання не приватне»Сертифікат не покриває саме цей домен, прострочений або ще не видано
Працює з www., але не з голим доменом (або навпаки)Для лише однієї назви є DNS і сертифікат
Замочка немає, «Не безпечно» на деяких сторінкахЗмішаний вміст: зображення, скрипт або шрифт завантажуються через http://
Помилка сертифіката одразу після під'єднання доменуDNS ще поширюється або проксі перед сайтом блокує перевірку сертифіката

Що попросити у вашого конструктора ШІ

  • «Переконайся, що кожне зображення, скрипт і шрифт завантажуються через HTTPS або відносний URL — жодних посилань http://.»
  • «Переадресовуй увесь трафік HTTP на HTTPS.»
  • «Став для сесійних cookie прапорці Secure і HttpOnly.»
  • «Використовуй https:// для кожного URL зворотного виклику OAuth, платежів і webhook.»
  • «Мій власний домен показує помилку сертифіката — який DNS-запис очікує хост?»

HTTPS у Mythex

Коли ви під'єднуєте власний домен у Mythex (функція Pro), ви додаєте запис CNAME, що вказує на ціль slug.mythex.ai, яку показує Mythex, натискаєте Verify, і Mythex автоматично видає HTTPS для домену. У документації описано два найпоширеніші підводні камені: якщо ваш DNS на Cloudflare, встановіть запис як «Лише DNS» (сіра хмарка), а не проксійований, щоб Mythex міг видати сертифікат; а DNS може пройти перевірку ще до повного налаштування HTTPS, тому почекайте кілька хвилин і перевірте ще раз. Див. власні домени у документації та наш посібник як під'єднати власний домен.

Запитання

У чому різниця між HTTP і HTTPS?

HTTP передає дані між браузером і сайтом у вигляді тексту, який можна прочитати. HTTPS — це HTTP, який передається через зашифроване з'єднання TLS. Тому люди в тій самій мережі чи на шляху передачі не можуть прочитати або змінити надіслане, а браузер може перевірити, що він говорить із справжнім сайтом.

SSL і TLS — це одне й те саме?

TLS — це сучасний наступник SSL. Усі версії SSL застаріли й небезпечні, а сьогоднішні безпечні сайти використовують TLS. Люди досі кажуть «SSL-сертифікат» за звичкою, але сертифікати використовуються разом із TLS.

Чи означає замочок, що сайт безпечний?

Ні. Замочок означає, що з'єднання зашифроване, а сертифікат відповідає домену. Шахрайський сайт теж може мати дійсний сертифікат. Це лише означає, що ніхто не може підглядати за з'єднанням, але не гарантує, що власник сайту надійний.

Чи треба платити за SSL-сертифікат?

Зазвичай ні. Безкоштовні автоматизовані центри сертифікації, такі як Let's Encrypt, видають сертифікати, яким довіряють браузери, а більшість хостинг-платформ отримують і продовжують їх за вас. Платні сертифікати переважно додають підтримку або додаткові перевірки особи.

Чому мій сайт пише «Не безпечно»?

Типові причини: сайт відкрито через http:// замість https://, сертифікат закінчився або не покриває саме цей домен, або сторінка завантажує зображення чи скрипти через незашифрований http:// (змішаний вміст).

Mythex · Pricing · Створюйте що завгодно з ШІ · Шаблони сайтів і застосунків · Порівняння Mythex · Глосарій створення застосунків за допомогою ШІ · Безкоштовні інструменти для створення застосунків за допомогою ШІ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)