¿ Problemas registrando un listener HTTP con un usuario no administrador ?

Siempre que desarrollamos una aplicación tenemos que tener en cuenta que nuestra aplicación sólo debe disponer de los mínimos privilegios necesarios. Tener en cuenta esta situación provoca que sea un poco más complicado la configuración de nuestra aplicación.


Cuando tiene privilegios de administrador todo va muy bien, pero cuando se cambia habitualmente surgen problemas que no siempre son fáciles de diagnosticar.


Uno de los puntos importantes a tener en cuenta cuando desarrollamos un servicio WCF es que, por defecto, para poder registrar un listener HTTP  es necesario disponer de privilegios de administrador.


Si estamos desarrollando un servicio que está hosteado en un servicio windows es recomendable que el servicio windows corra como NetworkService en lugar de usar los privilegios de LocalSystem. Si usamos NetworkService y exponemos algún endpoint HTTP, aunque sean los metadatos del servicio, tendremos un problema de permisos y el host no podrá arrancar correctamente dando una excepción de acceso denegado ( AddressAccessDeniedException ) indicando que no puede registrar la URL http.


La solución es fácil; hay que dar permisos al usuario NetworkService para que puede registrar la URL. Ahora veremos cómo.



En Windows XP y Windows 2003 se necesita disponer de la utilidad httpcfg. Es necesario instalar las Windows Supports Tools para poder disponer de él. Lo podeis descargar de aquí.


Mediante esta utilidad se puede establecer los permisos de acceso a una determinada URL. El acceso se da usando una lista ACL, donde se indica el usuario ( Sid ) y los permisos que tiene ( lectura, ejecución…)



httpcfg set urlacl /u http://+:8080/services/example /a D:(A;;GA;;;NS)



La sintaxis completa de httpcfg la podéis ver aquí.


Si el sistema operativo que usáis es Vista, la utilidad que debéis emplear es netsh.



add urlacl url=http://+:8080/services/example user=NetworkService


Una vez que hayáis hecho esto el host podrá registrar correctamente el listener http y arrancar sin problemas.

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

3 comentarios en “¿ Problemas registrando un listener HTTP con un usuario no administrador ?”

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *