Vernis renvoie l'adresse IP du client vers le backend

J'ai configuré le vernis comme proxy pour redirect la request HTTP vers les servers backend exécutant Apache. J'aimerais avoir les adresses IP des clients dans mes journaux apache au lieu de l'adresse IP du server de vernis. Voici mon file de configuration de vernis:

backend $my_backend { .host = "192.168.0.103"; .port = "80"; } sub vcl_recv { } else if (req.http.host == "$my_domain_name") { set req.backend = $my_backend; if (req.request == "POST") { if (req.http.X-Forwarded-For) { set req.http.X-Real-Forwarded-For = req.http.X-Forwarded-For ", " regsub(client.ip, ":.*", ""); unset req.http.X-Forwarded-For; } else { # Simply use the client IP set req.http.X-Real-Forwarded-For = regsub(client.ip, ":.*", ""); } return(pipe); } return(lookup); } } 

Sur le file de configuration apache arrière, j'ai ce

 RPAFenable On RPAFsethostname On RPAFproxy_ips $varnish_proxy_ip RPAFheader X-Real-IP 

Le problème est que l'instruction RPAFheader n'est pas reconnue sur Debian6:

 root@$hostname:~# apache2ctl configtest Invalid command 'RPAFheader', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed. The Apache error log may have more information. root@$hostname:~# 

Quelqu'un a-t-il configuré mod_rpaf sur debian pour me donner une main sur ce problème mod_rpaf

Merci beaucoup pour votre aide!

One Solution collect form web for “Vernis renvoie l'adresse IP du client vers le backend”

D'accord, je répondrai à ma propre question pour aider les personnes qui pourraient avoir le même problème:

Ajoutez d'abord les lignes suivantes dans le file de configuration de vernis (default.vcl)

 sub vcl_recv { if (req.http.host == "myDomain.net") { set req.http.host = "myDomain.net"; set req.backend = myBackend; # Compatiblity with Apache log remove req.http.X-Forwarded-For; set req.http.X-Forwarded-For = client.ip; # No cache for POST requests if (req.request == "POST") { return(pipe); } return(lookup); } } 

Ajoutez ensuite un format de journal personnalisé pour apache tout en configurant votre vhost

 LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined ... CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined 

C'est tout!

  • Vernis saintmode donne 503 au lieu de la page 500 personnalisée de Backend
  • Vernis - Autoriser des cookies spécifiques pour le backend?
  • Vernis et iFrames - Chaque iFrame count comme un succès = mauvaise performance?
  • Déplacement d'une application Web pour utiliser HAProxy, vernis et nginx
  • Comment puis-je utiliser du vernis pour générer un file robots.txt même pour le sous-domaine du même site?
  • Les objects de cache de vernis expirent en période de carence vague et réévalue
  • nginx redirection sans port
  • Mise en cache du cache de vernis 'Error 400 Bad Request'
  • Varny VCL ne permet pas deux adresses IP distinctes comme backends
  • Forcer la requête à manquer le cache mais toujours save la réponse
  • Vernis échoué par intermittence sans raison évidente
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.