Table des matières

Pound : reverse proxy / load ballancer

Installons maintenant pound qui permet le reverse-proxy et load-balancer

aptitude install pound

Voici notre 1ère règle de config de pound

ListenHTTP
        Address 70.70.70.70
        Port    80

        ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
        xHTTP           0

        Service
                HeadRequire "Host: .*www.p2pfr.com.*"
                BackEnd
                        Address 192.168.0.2
                        Port    80
                End
        End
End
HeadRequire supporte les expressions régulières, par exemple pour l’adresse www.p2pfr.com et p2pfr.com fonctionne écrivez ceci :
"Host: .*(.p2pfr|p2pfr).com.*"

Pour tolérer 2 sites

"(Host: .*(.p2pfr|p2pfr).com.*|Host: .*(.p2pfr2|p2pfr2).com.*)"

Lancez pound

/etc/init.d/pound start

Mais comme le dis le message d’erreur

pound will not start unconfigured. (warning).
Please configure; afterwards, set startup=1 in /etc/default/pound. (warning).

Vous devez modifiez le fichier /etc/defaults/pound et mettre startup=1 puis

/etc/init.d/pound start

Configurer Apache : LogFormat poundCombined

Comme le dit la page http://blog.phondroid.fr/?p=102

Si vous utilisez awstats ou un autre soft de statistique, on ne verra que le serveur proxmox comme étant l’unique visiteur du site ce qui peut être rageant…

Pas de panique donc, le site cité ci dessus nous donne la solution.

Modifiez votre fichier de config de site apache, allez dans la section log et ajoutez cette ligne dans les types de log

 LogFormat "\"%{X-Forwarded-for}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\"" poundcombined

Ensuite modifier la variable suivante

CustomLog /var/log/apache2/access.log poundcombined

Récupérer les log de pound

source : http://myfreshthoughts.blogspot.fr/2008/07/howto-tell-pound-to-log-into-its-own.html

Normalement, tous les log de Pound se mettent dans /var/log/syslog se qui n’est pas super pratique surtout si on veut utiliser les log de Pound avec Awstats par exemple. Comme il n’y a pas d’option pour spécifier le fichier de log à utiliser, nous allons donc configurer notre système de log pour que ça soit le cas.

Modifiez la config de Pound /etc/pound.conf comme ceci:

#On va utilisé le facility local0 pour séparer les messages de pound dans le syslog
LogFacility local0
LogLevel 3

Modifiez ensuite la config de rsyslog /etc/rsyslog.conf

###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
# On empêche le local0 d'aller dans syslog
*.*;auth,authpriv.none,local0.none          -/var/log/syslog
# Prend les messages du facility local0 et
# les inscrit dans un fichier log pound
local0.* -/var/log/pound.log

Après avoir relancé rsyslog /etc/init.d/rsyslog restart et pound /etc/init.d/pound restart, vous devriez voir apparaître les 1er log de pound dans son fichier de log /var/log/pound.log

Et comme tout fichier de log, vous devez l’intégrer dans logrotate afin de ne pas se retrouver avec un fichier de log de 10Go …

Nous allons donc créer le fichier /etc/logrotate.d/pound contenant

/var/log/pound.log {
  weekly
  missingok
  rotate 52
  compress
  notifempty
  create 0644 syslog adm
  postrotate
    invoke-rc.d rsyslog reload > /dev/null
  endscript
}