Краткий ответ: Добавьте постоянный (301) редирект в веб-сервере, чтобы каждый http://-запрос попадал на https://. В nginx это маленький catch-all server-блок; в Apache — директива Redirect или две строки rewrite. Плагины certbot могут добавить это за вас при установке сертификата.
Обзор
Параллельная работа обоих протоколов размывает SEO-сигналы и оставляет пользователей на незащищённой версии. Один 301-редирект сводит всё на HTTPS и является ожидаемой настройкой любого современного сайта.
Что нужно иметь
- Уже установленный валидный сертификат (как) — редирект на сломанный HTTPS заблокирует посетителей.
- SSH-доступ для правки конфигурации веб-сервера.
Пошаговая инструкция
nginx — отдельный server-блок для порта 80:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
sudo nginx -t && sudo systemctl reload nginx
Apache — в virtual host порта 80:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2
Проверьте редирект:
curl -I http://example.com # expect: HTTP/1.1 301 ... Location: https://example.com/
По желанию добавьте HSTS, когда всё работает, — чтобы браузеры вообще не пробовали HTTP при повторных визитах:
add_header Strict-Transport-Security "max-age=31536000" always;
Типичные проблемы
- Петля редиректов: приложение тоже форсит протокол (или стоит за прокси) — сделайте ответственным за редирект ровно один слой.
- Редиректит только голый домен: в
server_name/ServerAliasне хватает хостаwww. - HSTS включён слишком рано: с неисправленным mixed content HSTS запирает пользователей на сломанной странице — включайте последним.
Когда обращаться в поддержку
Если curl -I вообще не получает ответа на порту 80 — сначала проверьте файрвол; если всё равно глухо, откройте тикет с куском конфига — посмотрим.
Частые вопросы
Редирект должен быть 301 или 302?
Используйте 301 (постоянный). Он говорит браузерам и поисковикам, что канонический URL — HTTPS, передаёт SEO-сигналы и кешируется, так что повторные визиты идут сразу на HTTPS.
Что вызывает петлю редиректов после включения HTTPS?
Два слоя одновременно форсят протокол — например, веб-сервер редиректит на HTTPS, а приложение или прокси возвращает обратно. Сделайте ответственным за редирект ровно один слой.
Что такое HSTS и стоит ли его включать?
HSTS — заголовок, велящий браузерам всегда использовать HTTPS для вашего домена, не пробуя HTTP. Включайте после полной проверки HTTPS — откатить его сложно.
Похожие статьи
- Как установить бесплатный SSL-сертификат
- Как исправить ошибку SSL mixed content
- Как продлить SSL-сертификат Let’s Encrypt
Готовы начать? Заказать VPS в Cloud2Y →
