miércoles, 5 de octubre de 2011

SSI Filter en Tomcat 7

El otro día en el trabajo me estuve peleando intentando configurar un tomcat para que interpretara instrucciones SSI. Así que quiero dejar constancia de como se configura desde eclipse.

Lo primero de todo, abrir el fichero web.xml del servidor tomcat ubicado en /conf. En el deberemos descomentar el filtro SSI y el filter-mapping.

Filter SSI
    <filter>
        <filter-name>ssi</filter-name>
        <filter-class>
          org.apache.catalina.ssi.SSIFilter
        </filter-class>
        <init-param>
          <param-name>contentType</param-name>
          <param-value>text/html(;.*)?</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>expires</param-name>
          <param-value>666</param-value>
        </init-param>
        <init-param>
          <param-name>isVirtualWebappRelative</param-name>
          <param-value>1</param-value>
        </init-param>
    </filter>

Filter mapping
    <filter-mapping>
        <filter-name>ssi</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Lo mas importante es en el Filter que la opción isVirtualWebappRelative este bien configurado en funcion de lo que busquemos.

El otro punto importante es el parametro contentType. Ahi deberemos filtrar aquellas paginas que queremos que sean analizadas para interpretar comandos SSI, en este caso son todas de tipo text/html. Importe lo que hay detras, ya que no siempre el contentType viene solo el mimeType, sino que va seguido del charset. Ej: text/html; charset=UTF-8

Una vez tenemos esto, deberemos marcar el contexto con el siguiente atributo
privileged="true". Esto se encuentra en /conf/context.xml.

Luego, el servidor deberemos configurarlo con la siguiente opción, ya que sino dará problemas en una clase, esta reconocido como un bug y se esta trabajando en ello, pero mientras tanto deberemos marcar esta opción: Publish module contexts to separate XML files



Después de esto ya solo nos queda hacer nuestras pruebas con SSI.

No hay comentarios:

Publicar un comentario