My kemenworld…

To mock or not to mock…

Cassini Personal Web Server

Posted by kementeus en febrero 16, 2007

La última vez contesté una pregunta referente a en que servidores podía correr ASP.net, resulta que en todo el afán de contestar olvidé a un viejo amigo en la lista, el servidor web personal Cassini. Hoy trataré de hablar un poco más de este casi desconocido servidor web y como se relaciona al IIS y ASP.net

Cassini Web server es originalmente un servidor web sencillo y minimalista bajo la licencia Common Shared Source y fue creado por Microsoft como un ejemplo de las cosas que podían lograrse bajo la .Net Framework. En general es un webserver completo, soporta la mayoría de los tipos MIME, HTTP 1.1 y ASP.net, lo más importante, es un download de menos de 50K, 10 archivos fuente y 7 clases principales. Al parecer el único problema que presenta el Cassini original es que fue diseñado para escuchar solo desde localhost pero como se tiene el código fuente creo que es algo de modificar solo un par de líneas recompilar y listo.

Cassini per se carece de una interface de administración ala IIS, además de tener un par de problemas más de escalabilidad. Es por eso que muchas otras partes se encargaron de tomar el código de Cassini y crear un par de versiones especializadas, es así como nacen CassiniEx y UltiDev Cassini (wikipedia link). Cassini es la base para el webserver personal que trae Visual Studio 2005, lo he usado en maquinas virtuales (especialmente UltiDev Cassini) debido a su pequeño tamaño y poco overhead y es portable y puede ser agregado en un MSI de instalación para un proyecto que trabajemos y no queramos incluir IIS. Cassini y sus hijos NO corren en Mono (por lo menos no lo he visto documentado en ningún lugar), de igual forma he visto instalaciones en la cual usan Apache2 y Cassini, usando Apache2 como proxy para redirigir las peticiones a Cassini, personalmente creo que para esto mejor usamos algo como aspdotnet o simplemente Cassini.

La misma página de UltiDev Cassini recomienda no usar Cassini en otro sistema que no sea una Intranet, ya que debido a que corre bajo el usuario Administrator con privilegios puede ser objetivo de ataques.

Por último, creo que el mayor valor que tiene Cassini (más de servirme como un web server para maquinas virtuales internas) es el educativo. Se puede aprender muchísimo del código fuente de Cassini, inclusive hay tutoriales sobre extensiones hechas para el servidor en sí y un muy buen artículo en DevX sobre Cassini Development.

Espero que con todo esto ya estén listos y corran a bajar su código fuente de Cassini para estudio! Éxitos y espero haber sido de ayuda!

Una respuesta to “Cassini Personal Web Server”

  1. Thank you for reviewing UltiDev Cassini Web Server.
    We would like to add a small correction: UltiDev Cassini service is running under “Local System”, not an Administrator account. The larger point remains the same: exposing UltiDev Cassini to Internet is dangerous, but the danger is limited to compromising only the computer running UltiDev Cassini, not the entire network as it would be if UltiDev Cassini ran under Administrator account. In the near future we will start offering HttpVPN™ – a tool that will make it possible to access virtually any Intranet application on the Web. HttpVPN will also mitigate most of UltiDev Cassini security issues, like lack of SSL support, running under powerful SYSTEM account, etc.

    Thanks again,
    UltiDev Team.

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

 
A %d blogueros les gusta esto: