systemadmin.es > LAMP y web > Hacer un wget a un determinado VirtualHost

Hacer un wget a un determinado VirtualHost

Para hacer una petición a un determinado VirtualHost lo que se hace es passar un header HTTP donde lo indicamos. Gracias a esto evitamos que para cada alias DNS tengamos que tener una IP para servir contenido web sino que mediante una sola IP podemos tener tantos VirtualHosts como queramos.

Mediante tcpdump en cualquier servidor web podremos ver las peticiones que llegan y sus headers. Por ejemplo:

GET /2009/05/spamd-prefork-server-reached-max-children-setting-consider-raising-it HTTP/1.1
Host: systemadmin.es
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; es-ES; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Para realizar una petición a un determinado VirtualHost sin que la resolución DNS apunte a la IP dónde nos interesa hacer la petición deberemos modificar los headers.

wget permite indicar los headers que necesitemos, por ejemplo:

# wget 10.10.10.10 --header="Host: systemadmin.es"

Mediante este comando estamos pidiendo a la IP10.10.10.10” que nos muestre systemadmin.es, aunque si resolvemos systemadmin.es su IP sea otra.

Evidentemente podríamos modificar el fichero /etc/hosts para que un determinado alias resuelva a una determinada IP, pero resulta bastante menos práctico.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>