Pound 2.6, solución para el error “URI is too long”

Hoy vamos a comentar nuestra experiencia al trabajar Pound nos hemos encontrado con una limitación, y es el hecho que si el URI es demasiado grande Pound no es capaz de enviarlo hacia los servidores internos y nos devuelve el mensaje “Request URI is too Long”. Un ejemplo puede ser un link temporal de un fichero grande.


La única forma de solventarlo es modificando el parámetro maxbuf, pero este solo se puede modificar durante el proceso de configuración del paquete Pound.

Por ello vamos a explicar  los pasos a seguir para instalar Pound 2.6 de forma manual, no en base a repositorios, pudiendo  así poder modificar el parámetro y solventar el error.

El primer paso es poseer una máquina en nuestro caso montara un Linux Ubuntu Server 12.4, esta puede ser virtual o física, en nuestro laboratorio hemos utilizado un VM sobre VirtualBox

Atentos ya que todos los pasos lo efectuaremos con el usuario root.  Con lo que lo tenemos que lanzar (en caso de Ubuntu) el comando:

sudo su

OPENSSL

Lo primero es descargar OPENSSL desde el siguiente enlace:

http://www.openssl.org/source/openssl-1.0.1c.tar.gz

Descomprimiremos el paquete mediante el comando tar y accederemos a la carpeta creada

tar xvfz openssl-1.0.1c.tar.gz
cd openssl-1.0.1c

Ahora pasaremos a configurarlo para nuestro sistema operativo e instalarlo.

./config
make
make install

POUND

Hacemos lo propio con Pound, lo descargamos desde el siguiente enlace:

http://www.apsis.ch/pound/Pound-2.6.tgz

Lo descomprimimos con el comando tar y accedemos a la carpeta recién creada

tar xvfz Pound-2.6.tgz
cd Pound-2.6

Ahora nos toca la parte de configuración del paquete para eliminar el error, para ello tenemos que poner el parámetro with-maxbufpor ejemplo a 8192, para que no nos vuelva a salir el error de “URI is too Long

También le vamos a indicar donde se encuentra instalado OPENSSL, con el parámetro with-ssl,  en caso de que hayamos modificado la ruta indicada en el post, deberemos de modificarla en la siguiente sentencia.

 ./configure –with-maxbuf=8192 –with-ssl=/usr/lib/ssl

 Una vez configurado con ese parámetro, solo nos queda instalarlo.

make
make install

Creamos un pound.cfg en /usr/local/etc

nano /usr/local/etc/pound.cfg

Vamos a rellenarlo usando como ejemplo el siguiente ejemplo:

Todo el tráfico entrante a la maquina por el puerto 80 y que tenga como dominio en la petición http “hermandaddelmetal.wordpress.com” lo debe enviar a 10.0.13.25 por el puerto 80

Todo el tráfico entrante a la maquina por el puerto 80 y que tenga como dominio en la petición http “vdi.hermandaddelmetal” lo debe enviar a 10.0.13.70 por el puerto 80

Quedando el fichero pound.cfg como sigue:

User “www-data”
Group “www-data”
ListenHTTPS

          Address 0.0.0.0
          Port 80
          Service
          HeadRequire “Host:.*hermandaddelmetal.wordpress.com.*”
                               BackEnd

                                    Address 10.0.13.25
                                    Port 80
                               End
        End
        Service
        HeadRequire “Host:.*vdi.hermandaddelmetal.*”
                               BackEnd
                                  Address 10.0.13.70
                                 Port 80
                               End
          E
nd
End

 Añadimos a rc.local para que inicie de forma automática pound

nano /etc/rc.local

y añadimos “/usr/local/sbin/pound” antes del “exit 0

Si queremos iniciarlo manualmente escribimos directamente en el terminal:

pound

Si accedemos a la misma URL que nos daba el error, veremos que hemos lo hemos solventado

Anuncios

Deja un comentario

Archivado bajo Linux, Sistemas operativos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s