HTTP in HTTPS unter Lighttpd umleiten

2006-06-29 01:12:00 by Saz

Ich wollte eine HTTP-Verbindung zu HTTPS umleiten. Die Sache läuft richtig einfach unter Lighttpd im Vergleich zu Apache. Na gut, eigentlich schenkt es sich nicht viel. Aber zur Zeit bin ich von Lighttpd einfach so überzeugt, dass (fast) alles gut ist :) Ich bin positiv überrascht und werde mal schauen, wo ich noch überall den Apache ersetzen kann. Soll nur ein bestimmter Host von HTTP nach HTTPS umgeleitet werden, muss folgendes in die lighttpd.conf eingefügt werden:

$SERVER["socket"] == ":80" {
    $HTTP["host"] =~ "domain.tld" {
        url.redirect = ( "^/(.*)" => "https://domain.tld/$1" )
        server.name = "domain.tld"
    }
}
$SERVER["socket"] == ":443" {
    ssl.engine = "enable"
    ssl.pemfile = "/path/to/server.pem"
    server.document-root = "..."
}

Sollen alle Hosts von HTTP nach HTTPS umgeleitet werden, geht das mit folgenden Einträgen in der lighttpd.conf:

$SERVER["socket"] == ":80" {
    $HTTP["host"] =~ "(.*)" {
        url.redirect = ( "^/(.*)" => "https://%1/$1" )
    }
}

Das Modul mod_redirect muss aktiviert sein. Wird beim Starten von Lighttpd folgende Meldung ausgegeben:

2006-06-29 01:04:11: (server.c.857) WARNING: unknown config-key: url.redirect (ignored),

ist das Modul mod_redirect nicht aktiviert.


Comments

Fork me on GitHub