2 votes

Apache 2.4 définissez ProxyTimeout uniquement pour UNE URL

J'ai un problème avec les proxies Apache.

On m'a demandé de laisser ouverte la connexion entre Apache et le client web, car nous travaillons sur SSE. Le problème est que par défaut, le délai d'attente est de 60 secondes. J'aimerais augmenter significativement cette valeur, et j'ai trouvé la directive ProxyTimeout qui est géniale MAIS elle augmente le délai d'attente pour TOUS les proxies. Dans ma configuration, j'ai plusieurs proxies ajp, et j'aurais aimé appliquer le ProxyTimeout uniquement à /test:

ProxyPass /test ajp://some_ip:8009/some_URL
ProxyPassReverse /test ajp://some_ip:8009/some_url

ProxyPass /test2 ajp://some_ip2:8009/some_url2
ProxyPassReverse /test2 ajp://some_ip2:8009/some_url2

Est-ce qu'il y a un moyen de le faire?

Jusqu'à présent, j'ai testé avec : ConnectionTimeout et ProxyPass /test ajp://some_ip:8009/some_URL timeout=120 sans succès.

J'ai même essayé de spécifier un délai d'attente avec un bloc Proxy :

Proxyset timeout=10

mais encore une fois, cela n'a pas fonctionné.

Je ne suis pas familier avec les niveaux de délai d'attente dans Apache (je sais qu'il en existe), et mes connaissances en Apache sont plutôt limitées.

Merci pour votre aide!

1voto

drzraf Points 111

Il n'est actuellement pas possible car les directives à l'intérieur de ne sont lues qu'au démarrage du serveur plutôt qu'après chaque requête.

L'espoir pourrait venir de https://bz.apache.org/bugzilla/show_bug.cgi?id=62422

Après l'introduction d'un contexte "Proxy", il devrait devenir possible de modifier de manière générique les paramètres du proxy (ProxySet) en fonction de la requête servie (par exemple : son URL, entre autres).

-1voto

8080HouseFul Points 1

Votre proxy mod est-il activé?

Je vois la syntaxe comme

  ProxySet connectiontimeout=5 timeout=30

Source: Documentation Apache

0 votes

Oui, mod_proxy est activé, avec ou sans valeur de timeout je peux voir qu'ils fonctionnent bien. En fait, je cherche à augmenter le timeout entre Apache et le client, pas le timeout entre Apache et Tomcat.

0 votes

Pouvez-vous vérifier si vous avez une entrée dans votre httpd.conf (dans la configuration du serveur ou la configuration du vhost) TimeOut 600 (en secondes). Veuillez également lire la directive TimeOut ici : httpd.apache.org/docs/2.4/mod/core.html#timeout

0 votes

Merci pour votre réponse! Je n'ai aucune directive TimeOut nulle part dans mes fichiers de configuration. J'ai déjà lu la documentation pour cette directive, mais elle est plutôt succincte et ne m'aide pas vraiment...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X