1

У меня есть запасной Raspberry Pi, поэтому я решил проверить PirateBox.

У меня все это работает, однако поведение по умолчанию не перенаправляет запросы https. Поскольку PirateBox никогда не будет подключен к Интернету, и люди, подключающиеся, скорее всего, не будут знать адрес для запроса, я хотел бы перенаправить все запросы (http & https) на PirateBox Uri, piratebox.lan

Я хотел бы настроить его на аналогичный портал, но мне не нужна аутентификация, и запросы всегда будут перенаправляться

PirateBox использует Arch Linux с dnsmasq и lighttpd.
Мои текущие настройки

/etc/dnsmasq.conf

address=/#/192.168.77.1

/opt/piratebox/conf/lighttpd/lighttpd.conf

$HTTP["host"] !~ "^piratebox\.lan.*$" {
        url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}

$SERVER["socket"] == ":443" {
        $HTTP["host"] !~ "^piratebox\.lan.*$" {
                url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
        }
}

$SERVER["socket"] == ":80" {
        $HTTP["host"] !~ "^piratebox\.lan.*$" {
                url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html")
        }
}

В то время как все http-запросы перенаправляются на страницу PirateBox, https-запросы не перенаправляются, и страница PirateBox не загружается, просто время ожидания истекло.

Что я делаю не так или я должен подойти к этому по-другому?

Обновить
Я также пытался

$HTTP["scheme"] == "https" {
        url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}

и это тоже не работает

1 ответ1

1

У меня нет большого опыта работы с самим lighttpd , но из семантики файла конфигурации мне кажется, что, если у вас есть соединение, входящее через порт 443 , оно будет перенаправлено на порт 443 независимо от того, указали ли вы http:// в URL или нет. Если я правильно понимаю, и вы хотите перенаправить на порт 80 , вам нужно явно указать это в директиве:

url.redirect = ( "^/(.*)$" => "http://piratebox.lan:80/redirect.html" )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .