Eu tenho um Raspberry Pi sobressalente, então decidi dar uma olhada no PirateBox.
Tenho tudo funcionando, porém o comportamento padrão é não redirecionar solicitações https. Dado que o PirateBox nunca estará conectado à Internet e as pessoas que se conectarem provavelmente não saberão o endereço a ser solicitado, gostaria de redirecionar todas as solicitações (http e https) para o PirateBox Uri, piratebox.lan
Gostaria de configurá-lo para ser semelhante a um portal cativo, mas não preciso de autenticação e as solicitações serão sempre redirecionadas
PirateBox usa Arch Linux com dnsmasq e lighttpd.
Minha configuração atual é
/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")
}
}
Embora todas as solicitações http sejam redirecionadas para a página PirateBox, as solicitações https não são redirecionadas e a página PirateBox não é carregada, apenas expira.
O que estou fazendo de errado ou devo abordar isso de uma maneira diferente?
Atualizar
Eu também tentei
$HTTP["scheme"] == "https" {
url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}
e também não funciona
Responder1
Não tenho muita experiência consigo lighttpd
mesmo, mas pela semântica do arquivo de configuração, me parece que se você tiver uma conexão chegando em port 443
, ela será redirecionada para port 443
independentemente de você especificar http://
na URL ou não. Se bem entendi e você deseja redirecionar para port 80
, você precisa especificá-lo explicitamente na diretiva:
url.redirect = ( "^/(.*)$" => "http://piratebox.lan:80/redirect.html" )