Мы пытаемся разместить статическую веб-страницу (только один index.php) в локальной сети Wi-Fi без доступа в Интернет. По сути, каждый пользователь (мобильные устройства) должен попасть на какую-то целевую страницу, где он может загрузить некоторые файлы на наш сервер.
Мы испробовали два подхода:
1.) Мы создали скрытый портал, ответив на / generate_204 с помощью http-кода 302. На Android это вызывает всплывающее окно «Войти в Wi-Fi» и открывает своего рода фиктивный браузер (обычный для скрытых порталов), к сожалению, это браузер не поддерживает загрузку файлов (<input type="file">
). Есть ли возможность уйти (например, по ссылке) из фиктивного браузера в браузер по умолчанию? Можно ли загружать файлы в фиктивном браузере?
2.) Ответ на все запросы DNS-клиентов с IP-адресом сервера. В этом случае любой URL-адрес должен быть перенаправлен на наш веб-сервер. Это настраивается с помощью dnsmasq через address=/#/192.168.1.1
. При входе на сайт через http пользователь правильно перенаправляется. В случае https это не работает, возможно, из-за HSTS (?). В большинстве браузеров URL вводится без www
запрашиваются как результаты поиска и поэтому автоматически передаются как https-запрос. Здесь возникает вопрос, как успешно перенаправить https-запросы на наш веб-сервер?
В общем, нам просто нужен простой метод, чтобы каждый пользователь попадал на нашу веб-страницу и загружал туда файлы, не вводя ничего явно.
Настроить:
DNS и DHCP-сервер - это dnsmasq
WebServer - это apache2, прослушивающий 80 и 443