У меня возникла довольно странная проблема, и я хотел бы узнать, может ли кто-нибудь предложить способ ее решения. У меня есть скрипт, который заставляет роутер использовать другую точку доступа “html-directory” для обслуживания страницы login.html, если обнаружено, что связь с Интернетом отсутствует. Это сделано для того, чтобы страница login.html, которую видят пользователи при попытке входа в сеть, когда связь отсутствует, содержала информацию о том, что роутер знает о текущей недоступности Интернета, и сообщала им, что когда связь восстановится, они смогут подключиться к сети. Когда связь восстанавливается, скрипт возвращает “html-directory” обратно в нормальное местоположение, которое предоставляет страницу login.html, позволяющую им войти в систему.
Проблема в том, что поскольку DNS-серверы находятся в Интернете, если связь отсутствует, беспроводной клиент не может разрешить DNS-запросы, и его веб-браузер превышает время ожидания при попытке достичь своего исходного домашнего сайта ($link-orig), прежде чем роутер попытается перенаправить их на страницу входа в точку доступа, как он обычно делает для неавторизованного пользователя. Я знаю это, потому что если я пытаюсь перейти на веб-страницу по IP-адресу, веб-браузер немедленно перенаправляется на login.html, как и предполагается.
Предполагаю, что запросы DNS разрешены для пользователей, которые не прошли аутентификацию, для целей walled-garden, и для этой последовательности событий входа. Если бы это не позволяло запросы DNS, пользователи никогда бы не были перенаправлены на страницу входа.
Интересно, может ли кто-нибудь придумать способ заставить роутер перенаправлять пользователя на login.html ПЕРЕД тем, как он попытается запросить DNS, чтобы доставить их на $(link-orig), как он всегда делает перед тем, как отправлять их на страницу login.html, поскольку они пока не авторизованы? Я в тупике. Очевидно, это не первый раз.
Проблема в том, что поскольку DNS-серверы находятся в Интернете, если связь отсутствует, беспроводной клиент не может разрешить DNS-запросы, и его веб-браузер превышает время ожидания при попытке достичь своего исходного домашнего сайта ($link-orig), прежде чем роутер попытается перенаправить их на страницу входа в точку доступа, как он обычно делает для неавторизованного пользователя. Я знаю это, потому что если я пытаюсь перейти на веб-страницу по IP-адресу, веб-браузер немедленно перенаправляется на login.html, как и предполагается.
Предполагаю, что запросы DNS разрешены для пользователей, которые не прошли аутентификацию, для целей walled-garden, и для этой последовательности событий входа. Если бы это не позволяло запросы DNS, пользователи никогда бы не были перенаправлены на страницу входа.
Интересно, может ли кто-нибудь придумать способ заставить роутер перенаправлять пользователя на login.html ПЕРЕД тем, как он попытается запросить DNS, чтобы доставить их на $(link-orig), как он всегда делает перед тем, как отправлять их на страницу login.html, поскольку они пока не авторизованы? Я в тупике. Очевидно, это не первый раз.
