![Leiten Sie alle http- und https-Anfragen mit lighttpd um](https://rvso.com/image/1452241/Leiten%20Sie%20alle%20http-%20und%20https-Anfragen%20mit%20lighttpd%20um.png)
Ich habe einen Raspberry Pi übrig und habe beschlossen, PirateBox auszuprobieren.
Bei mir funktioniert alles, aber das Standardverhalten besteht darin, keine HTTPS-Anfragen umzuleiten. Da die PirateBox nie mit dem Internet verbunden sein wird und die Leute, die eine Verbindung herstellen, höchstwahrscheinlich nicht wissen, welche Adresse sie anfordern sollen, möchte ich alle Anfragen (http und https) an die PirateBox-URI piratebox.lan umleiten.
Ich möchte es ähnlich wie ein Captive Portal einrichten, brauche aber keine Authentifizierung und die Anfragen werden immer umgeleitet
PirateBox verwendet Arch Linux mit dnsmasq und lighttpd.
Meine aktuellen Einstellungen sind
/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")
}
}
Während alle HTTP-Anfragen auf die PirateBox-Seite umgeleitet werden, werden HTTPS-Anfragen nicht umgeleitet und die PirateBox-Seite wird nicht geladen, es kommt lediglich zu einer Zeitüberschreitung.
Was mache ich falsch oder sollte ich das anders angehen?
Aktualisieren
Ich habe auch versucht
$HTTP["scheme"] == "https" {
url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}
und es funktioniert auch nicht
Antwort1
Ich habe nicht viel Erfahrung damit lighttpd
, aber aus der Semantik der Konfigurationsdatei schließe ich, dass bei einer eingehenden Verbindung über Port eine 443
Umleitung zu Port erfolgt, 443
unabhängig davon, ob Sie dies http://
in der URL angeben oder nicht. Wenn ich das richtig verstehe und Sie eine Umleitung zu Port wünschen 80
, müssen Sie dies explizit in der Anweisung angeben:
url.redirect = ( "^/(.*)$" => "http://piratebox.lan:80/redirect.html" )