PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lighttpd https bis auf ein Verzeichnis



derguteweka
26.07.16, 11:14
Moin,

Haett' grad' wer einen Trick oder ein paar Zeilen fuer die ssl.conf zur Hand, wie man den lighttpd so konfigurieren kann, dass er alles via https ausliefert, bis auf 1 Verzeichnis?
Alles was innerhalb und unterhalb dieses Verzeichnisses liegt, soll unverschluesselt (also per http) ausgeliefert werden...

Gruss
WK

florian0285
26.07.16, 12:30
http://lmgtfy.com/?q=lighthattpd+https

marce
26.07.16, 12:37
@florian0285: Ich glaube, das war nicht die Frage.

Ich kenne lighthttp nicht - unter Apache würde ich vermuten, es gibt "wie heute übliche" einen Weiterleitung von http auf https für den kompletten VHost - damit müsste man also die entsprechende Rewrite-Rule so anpassen, daß beim Match auf ein ded. Verzeichnis kein Redirect ausgeführt wird.

Sauber funktionieren täte das aber nur für "alte" Clients wie curl oder wget - moderne Browser lassen sich nur sehr schwer davon überzeugen, wenn eine Domain mal mit https aufgerufen wurde, diese wieder unsicher zu besuchen...

In dem Fall wäre dann wohl https://www.google.de/search?q=lighttpd+rewrite+exclude zu Rate zu ziehen und daraus dann z.B. http://serverfault.com/questions/399091/exclude-directory-from-rewrite-with-mod-rewrite-and-lighttpd

derguteweka
26.07.16, 13:26
Moin,

@florian0285: Keine Ergebnisse für lighthattpd https gefunden

@marce: Ja, rule anpassen scheint mir in die richtige Richtung zu gehen.
In der ssl.conf steht ein - scheint mir - Allerwelts-Statement, was im www wohl von jedem abgeschrieben wird:


$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}

Jetzt nehm' ich mal stark an, dass irgendwas in diesem Konstrukt:

=~ ".* dafuer sorgt, dass _alles_ auf https umgeleitet wird. Wenn ich da jetzt einen Ausdruck haette wie:
_alles ausser schlonz_ , dann wuerd' mir das schon weiterhelfen, wenn das dann bedeuten wuerde dass alles von dem kaliber:
http://serverip/schlonz/bild.jpg
eben noch via http geliefert wird.

Die Schwierigkeiten, die moderne Browser mit dem mix aus http und https haben, sind mir dabei voellig wumpe.

Gruss
WK

marce
26.07.16, 14:27
wenn ich meinen 2. Link richtig verstehe - dürfte genau da die Lösung drin stehen - sprich den excludenden Part mit reinnehmen - mehr kann ich Dir dank nicht vorhandenem lighthttp leider nicht weiterhelfen. Scheint halt wie üblich so 'ne RegEx-Geschichte zu sein...

derguteweka
26.07.16, 15:20
Moin,

Mit diesem Konstrukt:
$HTTP["host"] =~ ".*" {
$HTTP["url"] !~"^/schlonz/" {
url.redirect = (".*" => "https://%0$0")
}
}
scheint das erstmal zu funktionieren. Merci fuer die Tipps.

Gruss
WK

florian0285
26.07.16, 23:20
Ich bitte vielmals um Entschuldigung... zu hastig gelesen... schlampig kopiert [emoji28]

marce
27.07.16, 08:21
scheint das erstmal zu funktionieren. Merci fuer die Tipps.
Je nach dem, wie streng Du das "diese Inhalte sollen per http ausgeliefert werden" siehst (können vs. dürfen vs. müssen) müsstest Du nun noch in den https-VHost eine entsprechende Weiterleitung auf http einsetzen. Wenn beides gestattet sein soll bist Du fertig. :-)