web-dev-qa-db-fra.com

500 erreur de serveur interne lors de la tentative d'implémentation du proxy inverse sous Apache. Comment transférer les demandes vers un autre serveur sans erreur?

Je souhaite transférer une demande d'un serveur à un autre. Voici mon problème:

  • hr.example.com - port 80 - Serveur A
  • support.example.com - port 80 - Serveur B

Toutes les demandes sur le port 80 sont transférées au serveur A par le pare-feu.

Je souhaite donc que les demandes de support.example.com soient transférées du serveur A au serveur B. Comment puis-je réaliser cela avec Apache?

J'ai suivi la réponse de ici . J'ai ajouté le code suivant à mon Apache.conf sur le serveur A, mais il en résulte une "erreur de serveur interne 500".

<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>

Remarque: le serveur A est Windows Server 2012 avec Apache 2.4.

Comment dois-je transmettre ces demandes correctement s'il vous plaît?

3
wouter205

Merci @MrWhite pour la configuration correcte. J'avais besoin du module supplémentaire mod_proxy_http et de changer l'adresse IP du serveur-B en nom d'hôte car j'ai plusieurs hôtes virtuels sur: 80. Voici la configuration de travail:

<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