web-dev-qa-db-fra.com

Définition du délai d'expiration pour tous les mappages ProxyPass dans la directive Apache Server mod_proxy

Ce que j'ai et fonctionne:

J'utilise Apache HTTPD 2.2 pour les requêtes proxy. J'ai plusieurs mappages ProxyPass :

ProxyRequests On 
<Proxy *>
AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>
ProxyPreserveHost Off

ProxyPass /a http://some_ip/
ProxyPassReverse /a http://some_ip/

ProxyPass /b http://some_other_ip/
ProxyPassReverse /b http://some_other_ip/

...

Cela fonctionne bien.

Ce que je veux:

Certaines de mes demandes prennent plus de temps, elles ont donc expiré en me donnant Erreur de proxy - Raison: Erreur de lecture à partir du serveur distant .

Je veux définir timeout pour toutes mes demandes. Puis-je faire cela sans avoir à ajouter timeout=... KeepAlive=On pour chaque ProxyPass mappage?

J'ai actuellement quelque chose comme:

ProxyPass /a http://some_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /a http://some_ip/

ProxyPass /b http://some_other_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /b http://some_other_ip/

... and i do this for all my ProxyPass mappings

Puis-je dire à Apache d'une manière ou d'une autre d'ajouter les paramètres timeout et KeepAlive pour tous les mappages? Merci d'avance.

12
Raul Rene

J'ai réussi à trouver une solution par moi-même. Vous pouvez définir le délai d'expiration en utilisant directement la directive ProxyTimeout de mod_proxy:

ProxyRequests On 
<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>
ProxyPreserveHost Off

ProxyTimeout 1200
28
Raul Rene