Simba, нашёл я причину такого поведения. Перелопатил целую кучу сайтов и статей. Дело в том, что браузеры запоминают по какому протоколу обращаться к сайту, если на сервере включена повышенная безопасность, а именно HSTS (Header Strict Transport Security). Один раз зашедший браузер получает инструкцию, что к этому сайту подключаться можно только по https и потом, как ты его не проси и не заставляй, не уговаривай и умоляй, но он всегда будет редиректить на https, даже если ты отключишь SSL и закроешь 443 порт. Причём эта директива запоминается так, что никакие чистки кеша, истории, закладок, печенек и всего остального - не поможет!
Как оказалось, решения есть для каждого браузера по своему, как эту беду исправить. Но мне это не подходило. Какой толк, что я исправлю у себя? Мне же надо как-то было и пользователям этот косяк исправить в браузерах, а то они просто не смогли бы зайти на сайт.
Решается на уровне сервера разными вариантами, смотря какой сервер. У меня Nginx+Apache, поэтому мне в Nginx требовалось настроить HSTS таким образом, чтобы у пользователей сбросилась эта директива.
На Nginx это делается с помощью строки в секции server:
add_header Strict-Transport-Security "max-age=0;";
Т.е. выставляем время жизни HSTS '0' (по умолчанию 1 год стоит - 31536000), и всё готово.
Это я так, кратко описал причину, почему у меня на сайте происходил цикличный редирект (как оказалось - не только у меня такое было). А вообще изучая данную тему, аж целых два вечера, выясняя причину поведения браузеров с https и без, насобирал себе материал и знания на целую статью ![]()