← Back to blog

Ein Leitfaden zur mod_proxy-Erweiterung: Verwendung von Apache als Reverse-Proxy

Category
Ein Leitfaden zur mod_proxy-Erweiterung: Verwendung von Apache als Reverse-Proxy

Einführung

Erweiterungen von Drittanbietern sind äußerst hilfreiche Ergänzungen. Diese machen Ihre Erfahrung bei der Konfiguration und Arbeit mit einem Server, wie z. B. Apache HTTP, viel einfacher und komfortabler. Bei Bedarf können Sie sogar einige dieser Module in Apache verwenden, um einen Reverse Proxy zu betreiben. Sie können entweder eine Ebene aus Ihrem Server-Setup entfernen oder ein Modul verwenden, um die Verbindungen umzuleiten.

In dieser Anleitung werden wir uns mit Apache und den verschiedenen Modulen befassen, die mit der Serverplattform verbunden sind, wie z. B. mod_proxy. Wir werden auch sehen, wie Sie es als Reverse Proxy verwenden können, um Verbindungen zu Ihren Backend-Anwendungsservern umzuleiten.

Was ist Apache?

Apache ist ein HTTP-Server der sehr häufig für webbezogene Zwecke verwendet wird. Sie können ihn jedoch für eine Vielzahl von Gründen und über mehrere Plattformen hinweg einsetzen. Sie können Ihren Apache-Webserver auf Ubuntu installieren, indem Sie unserer Schritt-für-Schritt-Anleitung folgen. Folgen Sie außerdem diesem Tutorial, um zu erfahren, wie Sie Ihren Apache-Server mit Let’s Encrypt sichern. Sie können sich auch ansehen, wie Sie virtuelle Apache-Hosts auf Ubuntu 20.04 einrichten.

Sie können die Funktionen und die Implementierung von Apache mithilfe externer Module weiter erkunden. Dabei handelt es sich um Module von Drittanbietern, mit denen Sie verschiedene Aufgaben im Zusammenhang mit Verbindungen und Konfigurationen durchführen können. Beispielsweise können Sie das Modul mod_rewrite verwenden, um regelbasiertes URL-Rewriting durchzuführen. Ein weiteres dieser Module ist mod_proxy. Letzteres Modul wird in der Community weitgehend zu wenig genutzt. Vor allem, weil viele Menschen sich des Umfangs seiner Funktionalität und Anwendungen nicht bewusst sind. Mod_proxy kann Ihnen, wie der Name schon sagt, dabei helfen, ein Gateway oder einen Proxy für Backend-Server einzurichten.

Lassen Sie uns mod_proxy im Detail untersuchen und wie Sie es als Reverse Proxy verwenden können.

Mod_proxy: Verwendung von Apache als Reverse Proxy

Wie Sie wahrscheinlich bereits wissen, ist mod_proxy ein Modul. Es ist ein Modul in Apache, mit dem Sie verschiedene Verbindungen herstellen und umleiten können. Sie können es auch wie jedes andere Modul auf Ihrem System aktivieren und konfigurieren. Das Besondere an mod_proxy is, dass es sich nicht nur um ein einzelnes Modul handelt. Tatsächlich besteht es aus einer Sammlung verschiedener Module, die Sie unten finden. Jedes dieser Module hat seine eigene Funktion. Auf diese Weise bietet Ihnen mod_proxy eine große Funktionsvielfalt.

Werfen Sie einen Blick auf die folgenden mod_proxy-Module:

mod_proxy

Dies ist das Haupt-Proxy-Modul. In Apache können Sie dieses Modul verwenden, um verschiedene Verbindungen zu konfigurieren und zu verwalten. Es kann Ihnen auch dabei helfen, Verbindungen umzuleiten.

mod_proxy_http

Wie der Name schon sagt, befasst sich dieses Modul mit den HTTP- und HTTPS-Protokollen. Sie können dieses Modul verwenden, um die Proxy-Funktionen dieser Protokolle zu implementieren.

mod_proxy_ftp

Mod_proxy_ftp wird verwendet, wenn Sie mit dem FTP-Protokoll arbeiten.

mod_proxy_connect

Dieses Modul ist hilfreich, wenn Sie SSL-Tunneling durchführen.

mod_proxy_ajp

Sie können mod_proxy_ajp verwenden, wenn Sie mit dem AJP-Protokoll arbeiten.

mod_proxy_wstunnel

Dies ist nützlich, wenn Sie mit Web-Sockets wie WS und WSS arbeiten.

mod_proxy_balancer

Wenn Sie auf Lastverteilungs- und Clustering-Funktionen zugreifen möchten, können Sie dieses Modul verwenden.

mod_cache

Das Modul mod_cache ist, wie zu erwarten, für Caching-Zwecke hilfreich.

mod_headers

Sie können dieses Modul verwenden, um die Header zu verwalten, die Sie mit dem HTTP-Protokoll erstellen.

mod_deflate

Dieses Modul wird für Komprimierungszwecke verwendet.

Wenn Sie noch mehr Details über diese Module erfahren möchten, können Sie die offizielle Apache-Website besuchen. Die offizielle Dokumentation bietet Ihnen ebenfalls weitere Informationen über mod_proxy und Apache selbst.

Wie installiert man Apache und mod_proxy?

Hier sind einige einfach zu befolgende Schritte zur Installation von Apache und mod_proxy auf Ihrem System:

  1. Server vorbereiten

Zunächst müssen Sie sicherstellen, dass Ihr Cloud-Server vorbereitet ist. Dazu müssen Sie Ihr Betriebssystem und die zugehörige Software auf die neuesten Versionen aktualisieren.

Verwenden Sie die folgenden Befehle, um Ihre Anwendungen zu aktualisieren:

  1. Installieren des Essentials-Pakets

Sobald Sie Ihren Server vorbereitet haben, müssen Sie ihn mit den wichtigsten Werkzeugen ausstatten. Zu diesem Zweck müssen Sie das Paket build-essential installieren. Dieses Paket besteht aus allen grundlegenden Werkzeugen, die Sie benötigen, um Software aus dem Quellcode zu installieren. Sie können es mit diesem Befehl installieren:

  1. Holen Sie sich die Module und Abhängigkeiten

Zuletzt müssen Sie die Module und Abhängigkeiten installieren. Dies können Sie durch Ausführen des folgenden Befehls tun:

Module aktivieren: Wie konfiguriert man Apache mit Proxy-Verbindungen?

Bevor Sie überhaupt dazu kommen, Apache zu konfigurieren, müssen Sie Ihre Module aktivieren. Diese Module helfen Ihnen dabei, die notwendigen Konfigurationen vorzunehmen und verschiedene Aufgaben auszuführen.

Zunächst müssen Sie überprüfen, welche Module bereits auf Ihrem System aktiv sind. Darüber hinaus müssen Sie sicherstellen, dass alle Module ordnungsgemäß installiert sind und aktiviert werden können. Das Ausführen dieses Befehls zeigt alle verfügbaren Module auf Ihrem Apache-Server an:

a2enmod output

Wie Sie sehen können, zeigt die Antwort alle verfügbaren Module in Form einer ausführlichen Liste. Durchsuchen Sie diese Liste und bestimmen Sie, welche Module Sie aktivieren möchten. Um dies Apache mitzuteilen, können Sie den folgenden Befehl verwenden und Ihre gewünschten Module anstelle der Beispiele eingeben:

Andererseits können Sie jedes Modul auch einzeln aktivieren. Dazu würden Sie die folgenden Befehle verwenden:

Bestimmte Module sind wahrscheinlich standardmäßig auf Ihrem Server aktiviert. Sie fragen sich vielleicht, wie Sie überprüfen können, ob sie aktiviert sind. Um sicherzustellen, dass das gewünschte Modul aktiv ist, können Sie versuchen, es zweimal zu aktivieren. Dies garantiert, dass das Modul aktiviert ist.

  1. Standard-Konfigurationseinstellungen ändern

Zuerst müssen Sie die Standard-Konfigurationseinstellungen ändern. Dazu müssen Sie auf die Standard-Konfigurationsdatei 000-default.conf zugreifen. Diese Datei befindet sich in /etc/apache2/sites-enabled. Wir müssen sie so anpassen, dass sie die Proxy-Funktion erhält.

Sie beginnen damit, den Texteditor nano zu öffnen, um den standardmäßigen virtuellen Host zu bearbeiten. Dies können Sie durch Ausführen dieses Befehls tun:

Wir werden den mod_virtual Host und mod_proxy zusammenfassend als Proxy Virtual Host bezeichnen. Nun können Sie die folgenden Konfigurationseinstellungen implementieren. Sie können die notwendigen Änderungen so vornehmen, wie es für Ihr System und Ihre Anforderungen am besten passt:

Sie können speichern und beenden, indem Sie Strg + X drücken und mit Y bestätigen.

  1. Die Lastverteilungsfunktion aktivieren

Lastverteilung hilft Ihnen, die Verbindungen auf Ihrem Proxy effektiv zu verteilen. Dies ist eine sehr nützliche Idee, wenn Sie mehrere Backend-Anwendungsserver anstelle eines einzelnen verwenden. Die Lastverteilungsfunktion verteilt die Verbindung oder die „Last“.

Um diese Funktion zu aktivieren, müssen Sie die zuvor in dieser Anleitung erwähnten Schritte wiederholen. Sie müssen jedoch die folgenden Konfigurationseinstellungen verwenden, wenn Sie den virtuellen Host einrichten:

  1. Reverse-Proxy-Unterstützung aktivieren

Sie müssen einen virtuellen Host so einrichten, dass er Ihren Reverse-Proxy unterstützt, wenn Sie mit SSL-Verbindungen und -Zertifikaten arbeiten. Dieser sekundäre virtuelle Host muss die folgenden Einstellungen aufweisen. Sie müssen die Anweisungen in den vorherigen Schritten ausführen. Sie müssen lediglich die Konfigurationsoptionen durch die unten genannten ersetzen:

Sie müssen auch das SSL-Modul aktivieren, damit die obige Konfiguration funktioniert:

  1. Apache neu starten

Alle Konfigurationen sind abgeschlossen. Schließlich können Sie Ihren Apache-Server neu starten, um die Änderungen zu übernehmen. Sie können Apache neu starten, indem Sie den folgenden Befehl ausführen:

Fazit

Voila! Sie haben soeben erfolgreich ein Reverse-Proxy-Gateway in Ihrem Apache-Server eingerichtet. Nun wird Apache die eingehenden Verbindungen an Ihre Anwendungsserver im Backend weiterleiten.

Das Tolle daran ist, dass der Konfigurationsprozess wenig Aufwand erfordert und recht unkompliziert ist. Da Sie nun die genauen Schritte kennen, um dorthin zu gelangen, sollten Sie überhaupt keine Probleme haben, einen Reverse-Proxy in Apache einzurichten.

Viel Spaß beim Computing!

Akshay Nagpal

Autor · CloudSigma

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.