„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Apache Virtual Host: Reverse-Proxy hinzufügen

Apache Virtual Host: Reverse-Proxy hinzufügen

Veröffentlicht am 08.11.2024
Durchsuche:911

Apache Virtual Host: Adding reverse proxy

Was ist ein Reverse-Proxy?

Ein Reverse-Proxy fungiert als Vermittler, der Client-Anfragen an andere Server weiterleitet. Es wird häufig für Lastausgleich, Sicherheit, Caching oder zum Weiterleiten von HTTP-Anfragen an Backend-Server (z. B. eine Anwendung, die auf Node.js, Python, PHP oder einem anderen Server ausgeführt wird) verwendet.

Apache ermöglicht Ihnen die Konfiguration mit seinen Modulen mod_proxy und mod_proxy_http. Hier finden Sie eine Anleitung dazu.

Szenario

Wir werden Apache als Reverse-Proxy für einen Backend-Dienst konfigurieren, beispielsweise einen Server, der auf localhost auf Port 8080 läuft.

Schritte zum Konfigurieren des Reverse-Proxys:

1.Aktivieren Sie die erforderlichen Module

Zuerst müssen Sie die Proxy-Module in Apache aktivieren:

sudo a2enmod proxy sudo a2enmod proxy_http

Starten Sie Apache neu, damit die Module wirksam werden:

sudo systemctl restart apache2 

2.Virtuellen Host mit Reverse-Proxy konfigurieren

Bearbeiten Sie nun die Konfigurationsdatei für Ihren virtuellen Host, die wir zuvor erstellt haben, um die Proxy-Anweisungen hinzuzufügen.

Öffnen Sie die Konfigurationsdatei:

sudo your_editor /etc/apache2/sites-available/php.conf

Fügen Sie die Proxy-Konfigurationszeilen innerhalb des -Blocks hinzu:


    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    # Reverse Proxy Directives
    ProxyPreserveHost On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    
        AllowOverride All
        Require all granted
    

    # Logs for debugging
    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined

Diese Anweisungen bewirken Folgendes:

  • ProxyPreserveHost On: Behält den ursprünglichen Host-Header vom Client bei, wenn Apache die Anfrage an den Backend-Server stellt.
  • ProxyPass / http://localhost:8080/: Leitet alle Anfragen, die in Apache eingehen, an den Server um, der Port 8080 überwacht.
  • ProxyPassReverse / http://localhost:8080/: Ordnet die Anfrage zurück zu Apache zu, was bedeutet, dass die Antworten vom Backend so geändert werden, dass sie aussehen, als kämen sie direkt von Apache.

3.Apache neu starten

Nachdem Sie die Änderungen vorgenommen haben, starten Sie Apache erneut:

sudo systemctl restart apache2

4.Testen Sie den Reverse Proxy

Wenn Sie jetzt auf http://php.info zugreifen, leitet Apache Anfragen an das Backend weiter, das http://localhost:8080 überwacht.

Freigabeerklärung Dieser Artikel ist nachgedruckt unter: https://dev.to/xxzeroxx/apache-virtual-host-adding-reverse-proxy-k7?1 Wenn es zu Verletzungen besteht, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3