HTTP или HTTPS: зачем шифрование нужно любому сайту
Основы3 минРедакция Innovialabs
Коротко
По HTTP любой в той же сети или на пути трафика может прочитать и изменить данные, браузеры помечают такие сайты как «Не защищено», а многие современные функции просто не работают — поэтому HTTPS нужен любому сайту, даже простому лендингу.
Коротко
HTTP передаёт всё открытым текстом. HTTPS упаковывает тот же трафик в TLS-шифрование: его нельзя прочитать или изменить по пути, а браузер может убедиться, что общается с настоящим сервером.
Частое возражение: «У меня нет входа и оплаты, зачем мне это?» Ответ: HTTPS защищает не только данные пользователей, но и ваш контент от изменения по дороге к ним. А сертификат сегодня может быть бесплатным.
Что на самом деле идёт не так по HTTP
Перехват в публичном Wi-Fi. В кафе, аэропорту или отеле другие пользователи той же сети — или владелец точки доступа — могут перехватывать HTTP-трафик. Им видны:
- все страницы и поисковые запросы;
- содержимое форм обратной связи, входа и заказа;
- сессионные cookies, с которыми злоумышленник входит в аккаунт без пароля.
Внедрение чужого контента. Любой посредник между пользователем и сервером — взломанный роутер, недобросовестная точка доступа, вредоносный прокси — может переписать HTTP-страницу. На практике это вставленная реклама, лишние трекеры и редиректы на вредоносные сайты. Посетитель при этом винит ваш сайт, а не сеть.
Подмена файлов. PDF с прайсом или установщик приложения, отданный по HTTP, можно заменить другим файлом.
Фишинг через поддельные страницы. Без HTTPS пользователь не может проверить, что страница пришла именно с вашего сервера.
Как реагируют браузеры и поисковики
| Что | HTTP | HTTPS |
|---|---|---|
| Адресная строка | Пометка «Не защищено», предупреждения на формах | Обычное отображение |
| Современные API браузера | Геолокация, камера, service workers, push-уведомления недоступны | Доступны (им нужен защищённый контекст) |
| HTTP/2 и HTTP/3 | Браузеры не используют их без шифрования | Доступны |
| Поиск | Google заявлял, что HTTPS — фактор ранжирования, хотя и слабый | Базовое требование выполнено |
| Аналитика | Переходы с HTTPS-сайтов часто приходят без реферера | Источник сохраняется чаще |
Эффект для SEO сам по себе скромный. Главная потеря — доверие: посетитель, увидевший «Не защищено» рядом с формой, часто уходит.
Что входит в переход на HTTPS
- Получить сертификат. Бесплатных автоматических сертификатов Let's Encrypt достаточно большинству сайтов. Хостинг-панели и CDN часто выпускают их в один клик.
- Установить и настроить автопродление. Просроченный сертификат полностью ломает сайт, поэтому продление не должно зависеть от чьей-то памяти.
- Перенаправить весь HTTP на HTTPS постоянным 301-редиректом.
- Исправить смешанный контент (mixed content). Заменить все ссылки
http://на картинки, скрипты, шрифты и iframe наhttps://или относительные пути. Браузеры блокируют или помечают небезопасные ресурсы на защищённых страницах. - Обновить canonical, sitemap и внутренние ссылки, затем добавить HTTPS-версию в Google Search Console и Яндекс Вебмастер.
- Пометить cookies флагом
Secure, чтобы они никогда не уходили по HTTP. - Включить HSTS, когда всё работает, — тогда браузеры перестанут даже пробовать HTTP.
Минимальный редирект в nginx:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
Частые ошибки
- Редирект настроен только для главной, внутренние страницы остаются на HTTP.
- Используется 302 (временный) редирект вместо 301.
- Жёстко прописанные
http://ссылки на картинки в старых статьях или в базе CMS. - Забытые поддомены:
www,api,admin. - HSTS включён до того, как все поддомены стали работать по HTTPS.