Mod proxy: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 14: | Zeile 14: | ||
==== Links ==== | ==== Links ==== | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
= TMP = | |||
[https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html mod_proxy_html] {en} ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können. | |||
So kann z.B. ein 2. Webserver (welchen z.B. Dienste wie [:Archiv/ejabberd:] bereitstellen) unter `http://server/ejabberd` erreicht werden, obwohl der 2. 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 klar kommen. | |||
Hier eine grafische Darstellung des Ganzen: | |||
[[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. Alle Seiten, die der ejabberd sendet, werden durch '''mod_proxy_html''' so verändert, dass die Links mit `http://server/ejabberd/` beginnen. So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet. Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten. | |||
== Installation == | |||
Seit [:Apache:Apache 2.4], welcher Ubuntu 13.10 in den Paketquellen ist, ist mod_proxy_html standardmäßig enthalten und muss nur aktiviert werden. | |||
=== Modul aktivieren === | |||
sudo a2enmod proxy | |||
sudo a2enmod proxy_html | |||
sudo a2enmod proxy_http | |||
; Hinweis | |||
Anschließend muss der Apache Webserver neu gestartet werden ('''force-reload''')[4]. | |||
== Einrichtung == | |||
Zum Verwenden des Moduls muss die [:Apache/Virtual_Hosts:VirtualHost]-Konfiguration entsprechend angepasst werden. | |||
; Hier ein Ausschnitt einer möglichen Konfiguration | |||
<VirtualHost *> | |||
... | |||
ProxyRequests Off | |||
<Proxy *> | |||
Order deny,allow | |||
Allow from all | |||
</Proxy> | |||
ProxyPass /ejabberd/ http://127.0.0.1:5281/ | |||
ProxyPassReverse /ejabberd/ http://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 (z.B. 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! | |||
== Links == | |||
# https://wiki.ubuntuusers.de/Apache/mod_proxy_html/ | |||
# [http://sarwiki.informatik.hu-berlin.de/Reverse_Proxy Sehr guter Artikel über Reverse Proxy] {de} | |||
[[Kategorie:Apache/HTTP/Module]] | [[Kategorie:Apache/HTTP/Module]] |
Version vom 3. Mai 2024, 19:02 Uhr
mod_proxy - Kurzbeschreibung
Beschreibung
Sicherheitskonzept
Modul mod_proxy
Proxy-Eigenschaften
Anhang
Siehe auch
Links
Weblinks
TMP
mod_proxy_html {en} ist ein Ausgabefilter, der HTML-Links so umschreiben kann, dass mehrere Webserver nahtlos miteinander kombiniert werden können.
So kann z.B. ein 2. Webserver (welchen z.B. Dienste wie [:Archiv/ejabberd:] bereitstellen) unter `http://server/ejabberd` erreicht werden, obwohl der 2. 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 klar kommen.
Hier eine grafische Darstellung des Ganzen: 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. Alle Seiten, die der ejabberd sendet, werden durch mod_proxy_html so verändert, dass die Links mit `http://server/ejabberd/` beginnen. So ist eine normale Funktion der ejabberd-Administrationsseiten gewährleistet. Natürlich funktioniert dieses Verfahren auch mit vielen anderen Diensten.
Installation
Seit [:Apache:Apache 2.4], welcher Ubuntu 13.10 in den Paketquellen ist, ist mod_proxy_html standardmäßig enthalten und muss nur aktiviert werden.
Modul aktivieren
sudo a2enmod proxy sudo a2enmod proxy_html sudo a2enmod proxy_http
- Hinweis
Anschließend muss der Apache Webserver neu gestartet werden (force-reload)[4].
Einrichtung
Zum Verwenden des Moduls muss die [:Apache/Virtual_Hosts:VirtualHost]-Konfiguration entsprechend angepasst werden.
- Hier ein Ausschnitt einer möglichen Konfiguration
<VirtualHost *> ... ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /ejabberd/ http://127.0.0.1:5281/ ProxyPassReverse /ejabberd/ http://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 (z.B. 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!
Links