Zum Inhalt springen

Diskussion:Mod proxy: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „'''mod_proxy''' - Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver kombiniert werden können == Beschreibung == [https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html mod_proxy_html] ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können. So kann z.B. ein zweiter Webserver (welchen z.B. Dienste wie ejabberd bereitstellen) unter ''http://server…“
 
K Textersetzung - „line>“ durch „line copy>“
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
[https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html mod_proxy_html] ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können.
[https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html mod_proxy_html] ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können.


So kann z.B. ein zweiter Webserver (welchen z.B. Dienste wie ejabberd bereitstellen) unter ''http://server/ejabberd'' erreicht werden, obwohl der zweite Webserver auf der IP 127.0.0.1 und dem Port 5281 läuft.  
So kann beispielsweise ein zweiter Webserver (welchen beispielsweise Dienste wie ejabberd bereitstellen) unter ''https://server/ejabberd'' erreicht werden, obwohl der zweite Webserver auf der IP 127.0.0.1 und dem Port 5281 läuft.  
* Die Hauptaufgabe (und damit der Unterschied zum "normalen" '''mod_proxy''') besteht darin, dass das übertragene HTML so modifiziert wird, dass alle Links mit der veränderten Situation klarkommen.
* Die Hauptaufgabe (und damit der Unterschied zum "normalen" '''mod_proxy''') besteht darin, dass das übertragene HTML so modifiziert wird, dass alle Links mit der veränderten Situation klarkommen.


Hier eine grafische Darstellung des Ganzen:
Hier eine grafische Darstellung des Ganzen:
[[Bild(mod_proxy_html.png, align=center)]]
[[Bild(mod_proxy_html.png, align=center)]]
Wie im Beispiel zu sehen wird man über `http://server/ejabberd` auf den eingebauten Webserver vom [:Archiv/ejabberd:] umgeleitet.  
Wie im Beispiel zu sehen wird man über `https://server/ejabberd` auf den eingebauten Webserver vom [:Archiv/ejabberd:] umgeleitet.  
* Alle Seiten, die der ejabberd sendet, werden durch '''mod_proxy_html''' so verändert, dass die Links mit ''http://server/ejabberd/'' beginnen.  
* Alle Seiten, die der ejabberd sendet, werden durch '''mod_proxy_html''' so verändert, dass die Links mit ''https://server/ejabberd/'' beginnen.  
* So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet.  
* So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet.  
* Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten.
* Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten.
Zeile 33: Zeile 33:


; Beispiel
; Beispiel
<syntaxhighlight lang=apache line>
<syntaxhighlight lang=apache line copy>
  <VirtualHost *>
  <VirtualHost *>
  ...
  ...
Zeile 41: Zeile 41:
  Allow from all
  Allow from all
  </Proxy>
  </Proxy>
  ProxyPass /ejabberd/ http://127.0.0.1:5281/
  ProxyPass /ejabberd/ https://127.0.0.1:5281/
  ProxyPassReverse /ejabberd/ http://127.0.0.1:5281/
  ProxyPassReverse /ejabberd/ https://127.0.0.1:5281/
  ...
  ...
  </VirtualHost>
  </VirtualHost>
Zeile 54: Zeile 54:
; Warnung
; Warnung
<blockquote>
<blockquote>
Die Option '''ProxyRequests''' sollte ohne weitere Sicherheitsvorkehrungen (z.B.&nbsp;nur für bestimmte Subnetze erlaubt) '''NICHT''' auf On gesetzt werden, ansonst hat man einen sog.&nbsp;Open Proxy, was im Normalfall ein großes Sicherheitsproblem darstellt!
Die Option '''ProxyRequests''' sollte ohne weitere Sicherheitsvorkehrungen (beispielsweise&nbsp;nur für bestimmte Subnetze erlaubt) '''NICHT''' auf On gesetzt werden, ansonst hat man einen sog.&nbsp;Open Proxy, was im Normalfall ein großes Sicherheitsproblem darstellt!
</blockquote>
</blockquote>


=== Proxy-Eigenschaften ===
=== Proxy-Eigenschaften ===
=== Dateien ===
=== Dateien ===
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
=== Dokumentation ===
=== Links ===
==== Weblinks ====
# https://wiki.ubuntuusers.de/Apache/mod_proxy_html/
# http://sarwiki.informatik.hu-berlin.de/Reverse_Proxy
[[Kategorie:Apache/HTTP/Module]]
[[Kategorie:Apache/HTTP/Proxy]]
{{DEFAULTSORT:mod_proxy}}
{{DISPLAYTITLE:mod_proxy}}
</noinclude>

Aktuelle Version vom 11. Mai 2025, 13:45 Uhr

mod_proxy - Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver kombiniert werden können

Beschreibung

mod_proxy_html ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können.

So kann beispielsweise ein zweiter Webserver (welchen beispielsweise Dienste wie ejabberd bereitstellen) unter https://server/ejabberd erreicht werden, obwohl der zweite Webserver auf der IP 127.0.0.1 und dem Port 5281 läuft.

  • Die Hauptaufgabe (und damit der Unterschied zum "normalen" mod_proxy) besteht darin, dass das übertragene HTML so modifiziert wird, dass alle Links mit der veränderten Situation klarkommen.

Hier eine grafische Darstellung des Ganzen: Bild(mod_proxy_html.png, align=center) Wie im Beispiel zu sehen wird man über `https://server/ejabberd` auf den eingebauten Webserver vom [:Archiv/ejabberd:] umgeleitet.

  • Alle Seiten, die der ejabberd sendet, werden durch mod_proxy_html so verändert, dass die Links mit https://server/ejabberd/ beginnen.
  • So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet.
  • Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten.

Sicherheitskonzept

Installation

Seit Apache 2.4 ist mod_proxy_html enthalten und muss nur aktiviert werden

Module aktivieren

sudo a2enmod proxy
sudo a2enmod proxy_html
sudo a2enmod proxy_http
Hinweis

Anschließend muss der Apache Webserver neu gestartet werden (force-reload)

Anwendung

Problembehebung

Konfiguration

Zum Verwenden des Moduls muss die Apache-Konfiguration entsprechend angepasst werden.

Beispiel
 <VirtualHost *>
 ...
 ProxyRequests Off
 <Proxy *>
 Order deny,allow
 Allow from all
 </Proxy>
 ProxyPass /ejabberd/ https://127.0.0.1:5281/
 ProxyPassReverse /ejabberd/ https://127.0.0.1:5281/
 ...
 </VirtualHost>
Hinweis

Nach dieser Änderung muss der Apache Webserver neu gestartet werden (reload)

Warnung

Die Option ProxyRequests sollte ohne weitere Sicherheitsvorkehrungen (beispielsweise nur für bestimmte Subnetze erlaubt) NICHT auf On gesetzt werden, ansonst hat man einen sog. Open Proxy, was im Normalfall ein großes Sicherheitsproblem darstellt!

Proxy-Eigenschaften

Dateien