Возвращает HTTP-статус 204 для GET /generate_204 с помощью uhttpd?

Чтобы справиться с обнаружением портала Android в неволе для моих конкретных настроек, мне нужно возвращать код состояния HTTP 204 всякий раз, когда я получаю запрос GET для /generate_204, В настоящее время я использую uhttpd в качестве своего веб-сервера, поэтому мне интересно, возможно ли это сделать с этим сервером.

Мое текущее понимание: мне нужно написать себе CGI (или PHP или Lua) скрипт, который возвращает что-то вроде
Status: 204 No Result

У меня вопрос, как я могу настроить Uhttpd для пересылки запросов /generate_204 в CGI, PHP или Lua, поскольку у них нет ни префикса, ни расширения файла, которые я могу подобрать для этой цели.

1 ответ

К сожалению, довольно умная идея @HBruijn просто сделать /generate_204 каталог, а не файл, а затем использовать его в качестве cgi_prefix с index.cgi-файл внутри него как index_page, работает только частично. Когда я открою /generate_204 из браузера сам, он делает именно то, что я хотел, но только после первого возврата перенаправления на /generate_204/, который обнаружение Android-портала явно игнорирует. Так что, к сожалению, это решение не решает мою проблему.

Вот хакерская работа, которую я придумала, которая действительно работает:

Просто нет /generate_204 файл вообще и вместо этого создайте CGI-скрипт в cgi-bin это обрабатывает все ошибочные запросы, которые выглядят так:

#!/bin/sh
if [ "$REQUEST_URI" == "/generate_204" ]; then
    echo "Status: 204 No Content"
    echo ""
    exit
fi

echo "Status: 404 Not Found"
echo "Content-Type: text/html"
echo ""
cat /path/to/my/error404.html

Затем просто добавьте следующее /etc/config/uhttpd:

option error_page  /cgi-bin/error.cgi
option cgi_prefix  /cgi-bin
list   interpreter ".cgi=/bin/ash"

(корректируя имена файлов и папок по мере необходимости)

Это определенно не самое чистое решение, и в случае, если есть способ предотвратить перенаправление и заставить идею @HBruijn работать, я пока оставлю вопрос открытым, так как я бы предпочел это.

Другие вопросы по тегам