![Redirigir todas las solicitudes http y https con lighttpd](https://rvso.com/image/1452241/Redirigir%20todas%20las%20solicitudes%20http%20y%20https%20con%20lighttpd.png)
Tengo una Raspberry Pi de repuesto, así que decidí probar PirateBox.
Lo tengo todo funcionando, sin embargo, el comportamiento predeterminado es no redirigir las solicitudes https. Dado que PirateBox nunca estará conectado a Internet y las personas que se conectan probablemente no sabrán la dirección a solicitar, me gustaría redirigir todas las solicitudes (http y https) al Uri de PirateBox, piratebox.lan.
Me gustaría configurarlo para que sea similar a un portal cautivo, pero no necesito autenticación y las solicitudes siempre serán redirigidas.
PirateBox usa Arch Linux con dnsmasq y lighttpd.
Mi configuración actual es
/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")
}
}
Si bien todas las solicitudes http se redirigen a la página PirateBox, las solicitudes https no se redirigen y la página PirateBox no se carga, simplemente caduca.
¿Qué estoy haciendo mal o debería abordar esto de otra manera?
Actualizar
yo también lo he probado
$HTTP["scheme"] == "https" {
url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}
y tampoco funciona
Respuesta1
No tengo mucha experiencia consigo lighttpd
mismo, pero por la semántica del archivo de configuración, me parece que si tienes una conexión entrante en el puerto 443
, se redirigirá al puerto 443
independientemente de si lo especificas http://
en la URL o no. Si entendí correctamente y desea redirigir al puerto 80
, debe especificarlo explícitamente en la directiva:
url.redirect = ( "^/(.*)$" => "http://piratebox.lan:80/redirect.html" )