Руководства

Что такое HTTPS и SSL? Как работают защищённые сайты, простыми словами

HTTPS — защищённая версия HTTP, протокола, по которому браузеры общаются с сайтами. Он заключает каждый запрос и ответ в зашифрованное соединение по протоколу TLS (Transport Layer Security), поэтому никто между посетителем и сайтом не может прочитать или подменить отправляемое. SSL — старое название той же идеи, того протокола, который заменил TLS, поэтому люди до сих пор говорят «SSL-сертификат».

Почему HTTPS важен при создании приложений с ИИ

Каждое опубликованное приложение должно работать по HTTPS. Это не только хорошая практика:

  • Браузеры этого ждут. Сайты на обычном HTTP помечаются как «Небезопасно», а некоторые возможности браузера — например доступ к геопозиции, камере и микрофону или service worker для офлайн-приложений — обычно работают только на защищённых (HTTPS) страницах.
  • Входы и формы. Без HTTPS пароли, сессионные cookie и данные форм передаются открытым текстом. Любой в той же сети кафе потенциально может их перехватить.
  • Платежи и сторонние сервисы. Платёжные провайдеры, вход через OAuth и многие API требуют HTTPS для адресов перенаправления и обратного вызова.
  • Доверие и поиск. Посетители замечают предупреждение, а Google заявлял, что учитывает HTTPS как сигнал ранжирования.

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

Бытовая аналогия

Отправлять данные по обычному HTTP — всё равно что отправлять открытку: каждый почтальон, который её держит, может её прочитать, и даже подменить текст.

HTTPS — это запечатанный конверт с защитой от вскрытия, и перед отправкой вы проверяете официальное удостоверение получателя. Сертификат и есть это удостоверение, его выдаёт доверенный орган (центр сертификации), который проверил, что сайт действительно управляет доменом. Шифрование — это запечатанный конверт. Удостоверение подтверждает, что вы пишете нужному адресату, а конверт защищает содержимое от посторонних.

Как работает HTTPS, простыми словами

Когда браузер открывает https://shop.example.com:

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

Этот рукопожатие TLS занимает несколько миллисекунд и происходит автоматически. Посетитель видит только значок замка (или, в некоторых браузерах, нейтральный значок информации о сайте).

Что защищает HTTPS, а что нет

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

HTTPS шифрует содержимое запросов, включая путь страницы и строку запроса. Но имя домена, который вы открываете, обычно видно сетям на пути. Поэтому никогда не передавайте личные данные в адресе: они всё равно попадут в логи и историю браузера.

Пример: подключаем собственный домен

Допустим, вы публикуете приложение для записи и хотите разместить его по адресу 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.
Смешанный контентЗащищённая страница, которая загружает часть ресурсов по обычному HTTP. Браузеры блокируют такие ресурсы или предупреждают о них.
HSTSЗаголовок, который велит браузерам всегда использовать HTTPS для вашего сайта.
Порт 443Стандартный порт HTTPS (HTTP использует порт 80).

Частые заблуждения

  • «Значок замка означает, что сайт надёжен». Он означает, что соединение приватно и домен совпадает. Мошенники тоже получают сертификаты.
  • «HTTPS нужен только на платёжных страницах». Любая страница с входом, формой или cookie нуждается в нём — а это почти любое приложение. Используйте его везде.
  • «Сертификаты дорогие». Бесплатные доверенные сертификаты — стандарт, и большинство хостингов управляют ими за вас.
  • «HTTPS делает моё приложение безопасным». Он защищает соединение. Приложению всё равно нужны проверки прав на сервере, безопасное хранение секретов и проверка входных данных. См. чек-лист безопасности для приложений, созданных с ИИ.
  • «HTTPS замедляет сайты». Современный TLS добавляет очень мало накладных расходов, а функции, которые ускоряют сайты, например HTTP/2, в браузерах обычно требуют HTTPS.

Исправляем типичные проблемы HTTPS

СимптомВероятная причина
«Ваше подключение не защищено»Сертификат не покрывает именно этот домен, истёк или ещё не выпущен
Работает на www., но не на голом домене (или наоборот)Есть DNS-запись и сертификат только для одного имени
Нет значка замка, «Не защищено» на некоторых страницахСмешанный контент: изображение, скрипт или шрифт загружаются по http://
Ошибка сертификата сразу после подключения доменаDNS ещё распространяется или прокси перед сайтом блокирует проверку сертификата

Что попросить у конструктора ИИ

  • «Убедись, что все изображения, скрипты и шрифты загружаются по HTTPS или относительным ссылкам — никаких ссылок http://.»
  • «Перенаправляй весь трафик с HTTP на HTTPS.»
  • «Устанавливай сессионные cookie с флагами Secure и HttpOnly.»
  • «Используй https:// для всех адресов обратного вызова OAuth, платежей и вебхуков.»
  • «Мой собственный домен показывает ошибку сертификата — какую 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 简体中文 繁體中文(香港) 繁體中文(台灣)