it-swarm.com.de

500 interner Serverfehler beim Versuch, einen Reverse-Proxy unter Apache zu implementieren. Wie leite ich die Anfragen fehlerfrei an einen anderen Server weiter?

Ich möchte eine Anfrage von einem Server an einen anderen weiterleiten. Hier ist mein Problem:

  • hr.example.com - Port 80 - Server A
  • support.example.com - Port 80 - Server B

Alle Anforderungen an Port 80 werden von der Firewall an Server A weitergeleitet.

Ich möchte also, dass Anfragen für support.example.com von Server A an Server B weitergeleitet werden. Wie kann ich dies mit Apache erreichen?

Ich folgte der Antwort von hier . Ich habe meinem Apache.conf auf Server A den folgenden Code hinzugefügt, aber dies führt zu einem "500 Internal Server Error".

<VirtualHost *:80>
  ServerName support.example.com    
  LoadModule proxy_module modules/mod_proxy.so    
  ProxyRequests Off
  <Proxy *>
     Require all granted
  </Proxy>    
  ProxyPass / http://IP-ADDRESS-SERVER-B:80/
  ProxyPassReverse / http://IP-ADDRESS-SERVER-B:80/
  <Location />
     Require all granted
   </Location>    
</VirtualHost>

Hinweis: Server A ist Windows Server 2012 mit Apache 2.4

Wie soll ich diese Anfragen bitte richtig weiterleiten?

3
wouter205

Vielen Dank an @MrWhite für die korrekte Konfiguration. Ich brauchte ein zusätzliches Modul mod_proxy_http und um die IP-Adresse von Server-B in den Hostnamen zu ändern, da ich mehrere vHosts auf: 80 habe. Hier ist die Arbeitskonfiguration:

<VirtualHost *:80>
support.example.com 
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so


 ProxyRequests Off
    <Proxy *>
     Require all granted
    </Proxy>

  ProxyPass / http://support.example.com:80/
   ProxyPassReverse / http://support.example.com:80/
  <Location />
       Require all granted
   </Location>


</VirtualHost>
1
wouter205