Heim  >  Artikel  >  Backend-Entwicklung  >  Apache Virtual Host: Reverse-Proxy hinzufügen

Apache Virtual Host: Reverse-Proxy hinzufügen

Susan Sarandon
Susan SarandonOriginal
2024-10-09 06:15:02857Durchsuche

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 mithilfe seiner mod_proxy- und mod_proxy_http-Module. 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 an 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 hinzu. Block:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

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

    <Directory /var/www/html/php/>
        AllowOverride All
        Require all granted
    </Directory>

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

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.

Das obige ist der detaillierte Inhalt vonApache Virtual Host: Reverse-Proxy hinzufügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Property Hooks kein PHPNächster Artikel:Property Hooks kein PHP