Apache Virtual Host: Reverse-Proxy hinzufügen

Susan Sarandon
Freigeben: 2024-10-09 06:15:02
Original
856 Leute haben es durchsucht

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
Nach dem Login kopieren

Starten Sie Apache neu, damit die Module wirksam werden:

sudo systemctl restart apache2 
Nach dem Login kopieren

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
Nach dem Login kopieren

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>
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!