MikroTik Hotspot: hotspot,error HTTP redirect loop detected
Механизм перехвата трафика (Universal Client Intercept) и природа Redirect Loop
Для перенаправления неавторизованного пользователя на страницу авторизации (Captive Portal) сервер MikroTik Hotspot перехватывает исходящие HTTP-запросы (порт TCP 80) с помощью динамических правил фаервола в цепочке nat (hotspot chain) и выполняет HTTP-редирект (302 Found) на локальный IP-адрес шлюза (например, http://10.5.50.1/login). Ошибка hotspot,error HTTP redirect loop detected фиксируется ядром, когда запрос, отправленный самой страницей входа или внутренним скриптом, повторно перехватывается и зацикливается (HTTP 302 Loop), превышая лимит 10–20 рекурсивных перенаправлений.
Бизнес-риски
Полная блокировка гостевого доступа: браузер пользователя выдает ошибку «Слишком много перенаправлений (ERR_TOO_MANY_REDIRECTS)». Гости не могут получить доступ к интернету, срывается процесс онлайн-оплаты услуг.
Факторы возникновения циклического редиректа
| Фактор | Сценарий сбоя | Решение |
|---|---|---|
| Отсутствие домена в Walled Garden | Страница логина грузит внешние скрипты/шрифты (Google Fonts, CDN), которые снова перехватываются. | Добавить домен CDN в Walled Garden. |
| HTTPS-перехват без SSL | Клиент открывает HTTPS-сайт; роутер пытается подменить сертификат без настроенного SSL-сертификата Hotspot. | Отключить HTTPS-перехват или загрузить валидный SSL. |
| Конфликт DNS / FQDN | DNS-имя шлюза (например, hotspot.local) не резолвится в локальный IP-адрес роутера. | Проверить запись в /ip dns static. |
Алгоритм устранения циклического редиректа Hotspot
Сценарий 1: Настройка Walled Garden для внешних ресурсов страницы входа
Если форма авторизации использует сторонние шрифты, аналитику или платежные шлюзы, добавьте их в исключения перехвата (Walled Garden):
# Добавление исключений для корректной загрузки ресурсов страницы авторизации
/ip hotspot walled-garden add dst-host="fonts.googleapis.com" action=allow
/ip hotspot walled-garden add dst-host="fonts.gstatic.com" action=allow
/ip hotspot walled-garden add dst-host="*.yandex.ru" action=allow
# Разрешение прямого IP-доступа к внешнему серверу авторизации (Walled Garden IP)
/ip hotspot walled-garden ip add dst-address=185.100.100.5 action=acceptСценарий 2: Проверка DNS-имени и статических записей (Hotspot Server Profile)
Убедитесь, что имя сервера Hotspot корректно прописано в DNS и не конфликтует с внешними доменами:
# Проверка профиля Hotspot
/ip hotspot profile print
# Установка корректного DNS-имени и сброс HTML-директории на дефолтную
/ip hotspot profile set [find] dns-name="login.wifi.local" html-directory="hotspot"
# Проверка наличия статической DNS-записи для шлюза
/ip dns static add name="login.wifi.local" address=10.5.50.1 comment="Hotspot Portal IP"Сценарий 3: Отключение некорректного перехвата HTTPS (SSL Intercept)
Если на MikroTik не установлен официальный доверенный SSL-сертификат для домена авторизации, отключите перехват HTTPS-запросов, так как современные браузеры с HSTS наглухо блокируют такие редиректы:
# Отключение перехвата HTTPS в профиле Hotspot
/ip hotspot profile set [find] ssl-certificate=noneТиповые ошибки администраторов
- Указание внешнего публичного домена компании в поле 'dns-name' без локальной записи: Браузер клиента пытается уйти на реальный внешний сайт компании через интернет, где еще нет доступа, и зацикливается.
- Повреждение файлов login.html / alogin.html: Некорректные теги
<meta http-equiv="refresh">в кастомном HTML-шаблоне вызывают мгновенный вечный редирект.
Инженеры ITSTM разработают адаптивный брендированный портал авторизации, настроят Walled Garden и обеспечат поддержку HSTS/HTTPS без ошибок.
Частые вопросы (FAQ)
Почему современные смартфоны (iOS / Android) не открывают окно входа автоматически (CNA)?
Функция Captive Network Assistant (CNA) проверяет доступность служебных URL (например, captive.apple.com). Если роутер перехватывает эти запросы с ошибкой или блокирует Walled Garden, система считает сеть неисправной.
Как полностью сбросить файлы шаблона Hotspot к заводскому виду?
Удалите или переименуйте папку hotspot на Flash-памяти (/file remove hotspot). При следующем перезапуске службы Hotspot RouterOS автоматически создаст чистые дефолтные HTML-файлы.
Можно ли использовать Let's Encrypt сертификат для страницы Hotspot?
Да, назначьте роутеру белый IP и реальный публичный домен, получите сертификат через /certificate enable-ssl-certificate и укажите его в параметре ssl-certificate профиля Hotspot.
Почему редирект зацикливается только на устройствах Apple?
Apple iOS строго проверяет SSL-сертификаты. Если включен HTTPS-редирект с самоподписанным сертификатом, встроенный браузер Captive Portal уходит в отказ и циклический перезапуск.