Attention HaProxy a une limite sur la taille du cookie, y compris le nom du cookie. Il faut donc changer des choses au niveau du serveur CAS. On enlève le hostname et on diminue la taille pour passer en dessous des 63 octets. A noter que cette valeur est en dur dans le code de haproxy (du moins dans les versions 1.5)
Une deuxième remarque, on ne peut pas empêcher de loguer les css et autres contenus statiques, mais on peut les filtrer au niveau de filebeat
/var/lib/tomcat7/webapps/cas/WEB-INF/spring-configuration/trace-me.xml
Coté serveur CAS
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <description> Configuration for the default TraceMe which stores the trace tickets (AGIMUS). </description> <!-- IF USE ESUP traceMe : start --> <bean id="traceMeCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="false" p:cookieMaxAge="432000" p:cookieName="AG" p:cookiePath="/" p:cookieDomain=".univ.fr"/> <bean id="traceMeUniqueIdGenerator" class="org.jasig.cas.util.DefaultUniqueTicketIdGenerator"> <constructor-arg index="0" type="int" value="20" /> <!-- <constructor-arg index="1" value="${host.name}" />--> </bean> <!-- IF USE ESUP traceMe : stop --> </beans>
Dans /etc/haproxy/haproxy.cfg
Coté source des logs
log /dev/log local0 option httplog capture request header Host len 32 capture request header User-Agent len 300 capture response header Content-Length len 10 capture cookie AG len 63 log-format %ci\ [%Tl]\ %s\ %ST\ %B\ %CC\ %hr\ %{+Q}r