So konfigurieren Sie Apache als Reverse Proxy

So konfigurieren Sie Apache als Reverse Proxy

Ein Reverse -Proxy -Server ist ein Webserver, der Clientanforderungen akzeptiert und an den entsprechenden Backend -Server weiterleitet. In diesem Fall ist der Reverse-Proxy der im Internet ausgerichtete Server, und Backend-Anwendungen werden auf Localhost oder dem LAN-Netzwerk ausgeführt.

Apache ist der beliebteste Webserver, der auch als Reverse -Proxy -Server konfiguriert werden kann. In diesem Tutorial erfahren Sie, ob Sie den Apache Reverse Proxy -Server auf einem Linux -System konfigurieren können.

Nework -Szenario

Wir haben zwei Anwendungen, die mit dem Tomcat -Server am Localhost Port 8080 ausgeführt werden. Unabhängig davon, ob Anwendungen mit Tomcat oder einem anderen Dienst wie NodeJS usw. ausgeführt werden. Die URLs von beiden lokalen Anwendungen sind:

  • http: // localhost: 8080/Demo1
  • http: // localhost: 8080/Demo2

Jetzt habe ich den Apache -Server auf demselben Host installiert, der auf Port 80 ausgeführt wird. Der Apache -Server akzeptiert die Anforderungen von Internetnutzern und leitet sie an entsprechende Anwendungen weiter, die im Back End ausgeführt werden. Wir müssen den Proxy so konfigurieren, dass Anforderungen wie folgt weitergeleitet werden:

  • http: // Beispiel.com >> http: // localhost: 8080/Demo1/
  • http: // Beispiel.net >> http: // localhost: 8080/Demo2/
  • http: // domain.com/Demo1/>> http: // localhost: 8080/Demo1/
  • http: // domain.com/Demo2/>> http: // localhost: 8080/Demo2/

Um ein besseres Verständnis zu erhalten, sehen Sie das folgende Diagramm:

Lassen Sie uns also mit der Konfiguration beginnen:

Schritt 1: Das Apache -Proxy -Modul einrichten

Standardmäßig ist dieses Modul in Apache für Benutzer aktiviert, die mit RPM -Paketen installiert wurden. Die debianbasierten Benutzer müssen Module manuell aktivieren.

  • Redhat-basierte Systeme: Bearbeiten Sie die Proxy-Konfigurationsdatei /etc/httpd/conf.Module.D/00-Proxy.Conf Die folgenden Einträge übernehmen. Wenn nicht verfügbar, dann fügen Sie sie hinzu.
    LoadModule proxy_module module/mod_proxy.So loadModule proxy_http_module module/mod_proxy_http.So 
  • Debian-basierte Systeme: Verwenden Sie den folgenden Befehl, um das Proxy-Modul mit Apache zu aktivieren.
    sudo a2enmod proxy proxy_http  

Nachdem Sie die Module aktiviert haben, müssen Sie Apache -Dienste neu starten, um Änderungen sofort anzuwenden.

Schritt 2: Konfigurieren Sie den virtuellen Apache -Host

Jetzt wird mit dem virtuellen Host arbeiten. Wir erstellen drei virtuelle Hosts wie unten. Sie erstellen nur das, was mit den erforderlichen Änderungen erforderlich ist. Bearbeiten Sie die Hauptkonfigurationsdatei von Apache und beginnen Sie mit der Konfiguration.

  • Erster virtueller Hostbeispiel:
  • Um alle an exitier gesendeten Anfragen weiterzuleiten.com zu Backend Tomcat -Server entsprechende Anwendung wie:

    • http: // Beispiel.com >> http: // localhost: 8080/Demo1/

    Konfigurieren Sie den ersten virtuellen Host wie unten:

    Serverame Beispiel.com proxyRequests auf proxypass/http: // localhost: 8080/Demo1/proxypassreverse/http: // localhost: 8080/Demo1/
    12345678 Serverame Beispiel.com proxyRequests auf proxypass/http: // localhost: 8080/Demo1/proxypassreverse/http: // localhost: 8080/Demo1/

  • Zweites virtuelles Hostbeispiel:
  • Um alle an exitier gesendeten Anfragen weiterzuleiten.Netto -to -Backend -Tomcat -Server entsprechende Anwendung wie:

    • http: // Beispiel.net >> http: // localhost: 8080/Demo2/

    Konfigurieren Sie einen virtuellen Host wie diesen.

    Serverame Beispiel.Net ProxyRequests auf Proxypass/http: // localhost: 8080/Demo2/ProxypassReverse/http: // localhost: 8080/Demo2/
    12345678 Serverame Beispiel.Net ProxyRequests auf Proxypass/http: // localhost: 8080/Demo2/ProxypassReverse/http: // localhost: 8080/Demo2/

  • Dritter virtueller Hostbeispiel:
  • Um alle Anfragen weiterzuleiten,.com zu Back-End-Tomcat entsprechende Anwendungen wie:

    • http: // domain.com/Demo1/>> http: // localhost: 8080/Demo1/
    • http: // domain.com/Demo2/>> http: // localhost: 8080/Demo2/

    Konfigurieren Sie einen virtuellen Host wie diesen.

    Serverame Domain.com ProxyRequests On ProxyPass /demo1 http://localhost:8080/demo1/ ProxyPassReverse /demo1 http://localhost:8080/demo1/ ProxyPass /demo2 http://localhost:8080/demo2/ ProxyPassReverse /demo2 http://localhost : 8080/ Demo2/ Erforderlich gewährt alle erforderlichen gewährten alle gewährten alle
    1234567891011121314151617 Serverame Domain.com ProxyRequests On ProxyPass /demo1 http://localhost:8080/demo1/ ProxyPassReverse /demo1 http://localhost:8080/demo1/ ProxyPass /demo2 http://localhost:8080/demo2/ ProxyPassReverse /demo2 http://localhost : 8080/Demo2/ Erforderlich gewährt alle Erforderlich gewährt alle

Schritt 3: Starten Sie Apache neu, um Änderungen anzuwenden

Sobald Sie den virtuellen Apache -Host erfolgreich erstellt haben, müssen Sie den Apache -Dienst neu starten. Verwenden Sie die folgenden Befehle, um den Apache -Dienst basierend auf dem Betriebssystem neu zu starten.

  • Redhat-basierte Systeme:
    sudo systemctl starten Sie HTTPD neu starten  
  • Debed-basierte Systeme:
    sudo systemctl starten Sie Apache2 neu  

Abschluss

In diesem Blog-Beitrag können Sie Apache als Reverse-Proxy-Server auf Debian-basierten oder Redhat-basierten Systemen konfigurieren. Der Reverse Proxy macht eine Brücke zwischen dem Internet -Gesichts -Webserver und der Webanwendung als Backend -Dienst.