- Kerlinux.org - http://kerlinux.org -

KeepAlive TCP avec Apache HTTPd « mod_proxy »

Posted By SLiX On 6 juillet 2010 @ 10 h 28 min In Informatique | No Comments

Un pare-feu entre votre frontal GNU/Linux / Apache HTTPd (avec mod_proxy) et votre serveur applicatif (par exemple Apache Tomcat), coupe les connexions HTTP ou AJP inactives au bout d’un certain temps ? Une solution consiste à activer le TCP keep alive; voici une petite explication:

Commencez par ajouter l’option keepalive à votre configuration d’Apache HTTPd, par exemple à chaque directive ProxyPass:

ProxyPass /appli/ ajp://server.localdomain:8009/appli/ keepalive=On

Contrairement à ce que l’on pourrait croire, cette option n’active pas la fonctionnalité dans Apache HTTPd mais elle va demander au système d’activer les KeepAlive TCP; il faut donc être sûr que les valeurs du système, en l’occurrence le noyau Linux, soient suffisantes:

Les valeurs courantes peuvent être obtenues avec la commande:

# sysctl -a | grep ^net.ipv4.tcp_keepalive
net.ipv4.tcp_keepalive_intvl = 120
net.ipv4.tcp_keepalive_probes = 10
net.ipv4.tcp_keepalive_time = 2700

Si les paramètres ne correspondent pas à votre besoin, ajoutez-les au fichier /etc/sysctl.conf et appliquez-les avec la commande:

# sysctl -p

Détail des paramètres:

tcp_keepalive_time est le délai à partir duquel les KeepAlive sont envoyés et doit donc être inférieur au délai d’expiration des connexions du pare-feu (timeout).

tcp_keepalive_intvl est l’interval entre les envois de KeepAlive, et doit logiquement être inférieur à tcp_keepalive_time; il doit être assez court pour avoir un comportement réactif sur les connexions coupées, en corrélation avec le paramètre tcp_keepalive_probes.

tcp_keepalive_probes est le nombre d’envois sans réponse pour considérer qu’une connexion est coupée; l’information est alors remontée à l’application.

Références:
http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html [1]

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass [2]


Article printed from Kerlinux.org: http://kerlinux.org

URL to article: http://kerlinux.org/2010/07/keepalive-tcp-avec-apache-httpd-mod_proxy/

URLs in this post:

[1] http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html: http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html

[2] http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

Copyright © 2010 Kerlinux.org. Tous droits réservés.