====== 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
}