Как перевести сайт с HTTP на HTTPS без цикла редиректов
Сначала проверяем сертификат и приложение, затем включаем постоянное перенаправление. Для прокси важна схема исходного запроса.
Содержание
Выпуск сертификата, смена адресов CMS и редирект — три отдельных действия. Начинайте с работающего HTTPS: если сертификат неверен, перенаправление просто отправит всех посетителей к предупреждению браузера.
Подготовьте изменения
Сохраните конфигурацию и базу, проверьте сертификат для основного имени и www. Узнайте, где уже настроено перенаправление: панель, веб-сервер, CDN или плагин. Несколько независимых правил часто создают лишнюю цепочку или цикл.
Согласуйте адреса
- Откройте HTTPS и убедитесь, что сайт работает.
- Установите защищённые home и siteurl в WordPress.
- Исправьте внутренние HTTP-ресурсы и ссылки.
- Настройте постоянный редирект в одном подходящем месте.
- Обновите canonical и sitemap.
После смены адресов CMS может завершить сеанс. Войдите заново по защищённому адресу, не меняйте настройки обратно только из-за выхода.
Если появился цикл
Проверьте, не направляет ли сервер на HTTPS, пока приложение видит запрос от прокси как HTTP. Передача исходной схемы должна быть настроена для доверенного прокси, а не приниматься от любого внешнего заголовка. Сверьте режим TLS между CDN и исходным сервером с документацией провайдера.
Проверьте четыре варианта
Откройте HTTP/HTTPS с www и без него. Все используемые варианты должны вести к одному выбранному адресу без бесконечной цепочки. Проверьте внутреннюю страницу и сохранение пути, а также POST-формы и внешние callback. Вид редиректа и обработка методов должны соответствовать сценарию.
HSTS вводите после стабильной проверки. Не добавляйте includeSubDomains или preload автоматически: они затрагивают поддомены и усложняют возврат к HTTP, если инфраструктура ещё не готова.
Документация по теме
- WordPress: руководство администратора — https
- MDN: справочник веб-технологий — Strict-Transport-Security
Комментарии 0