[gelöst] nginx Reverse-Proxy: Content-Ersetzung geht mit wget, aber nicht per Browser

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
heisenberg
Beiträge: 4158
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] nginx Reverse-Proxy: Content-Ersetzung geht mit wget, aber nicht per Browser

Beitrag von heisenberg » 21.12.2021 16:21:13

Hi,

ich hatte gerade einen interessanten Fehler:

Ich habe vor eine unverschlüsselte Webseite einen Reverse-Proxy(nginx) gesetzt. In der Applikation selbst wird jedoch eine unverschlüsselte base-href gesetzt, so ...

Code: Alles auswählen

<base href="http://webseite.de/bla/blub">
Dadurch hat natürlicher der Browser die Seite angemeckert, dass die unsicher eingebundene Elemente enthält.

Ok. Ich hätte natürlich auch auf der Anwendungsseite die base href anders setzen können. Da das jedoch mehr Aufwand bedeutet hätte, wollte ich das lieber durch den Reverse-Proxy erledigen lassen per Textersetzung.

Code: Alles auswählen

location / {

   sub_filter_once off;
   sub_filter http://webseite.de https://webseite.de;

}
Interessanterweise hat das per wget funktioniert, per Browser aber nicht. Anscheinend war es hier problematisch, wenn der Browser den Content komprimiert angefordert hat.

Deswegen hat es noch eine kleine Änderung gebraucht:

Code: Alles auswählen

location / {

   sub_filter_once off;
   sub_filter http://webseite.de https://webseite.de;
   proxy_set_header Accept-Encoding "";

}

https://stackoverflow.com/questions/318 ... ot-working

Antworten