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