Developing Indigo applications that listen on HTTP without Administrator rights

Indigo registers with HTTP.SYS to listen for incoming messages over HTTP.  To do so, by default, requires Administrator rights.  However, by using httpcfg.exe, you can “reserve” a portion of the HTTP namespace for yourself and develop Indigo applications without the need to be an Administrator.  Here’s how.

httpcfg.exe allows you to create URL reservations and ACL them.  All that is needed is to create a reservation “root” for your services and assign an ACL that grants you generic execute permissions on that URL.

httpcfg set urlacl /u https://+:80/services/kevinha /a D:(A;;GX;;;S-1–5–21–1762912055–2356474929–939577675–1007)

The above statement reserves the namespace https://localhost/services/kevinha and assigns a DACL with an allow ACE, granting generic execute premissions to my SID.  Once complete, I can configure Indigo to create any number of services benath https://localhost/services/kevinha (i.e., https://localhost/services/kevinha/foo1 or https://localhost/services/kevinha/foo2) without having to be an Administrator.

NOTE – to run httpcfg.exe you must be an Administrator.