First you need to open your firewall to let through TCP connections on the local port(s) that you run IIS Express on, typically 8080.
Secondly you have to configure HTTP.SYS to allow your application, running as a standard user, to listen to external traffic over the wire. You can do this on Windows 7 or Windows 8 by running the following command from an administrative prompt:
netsh http add urlacl url=http://[your-machine- name]:8080/ user=everyone
And last but not least you might be missing a binding information in applicationhost.config. You can find it in your user profile (%userprofile%\Documents\IISExpress\config\applicationhost.config). Locate your site under the <Sites> node. Since there are potentially a whole bunch of sites there you can find it by searching for the physical path in which all files for your site belongs. Now add a binding with your machine name:
<binding protocol="http" bindingInformation=":8080:[your-machine-name]" />
Finally, don’t forget to restart IIS Express for this change to carry into effect.
2 comments:
Another, simpler option is to use our Visual Studio extension 'Conveyor', which does everything for you without touching any configuration files or your project. https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti
Thanks Jim, that´s a great tip and a nice extension you´ve created. I will definitely try it out the next time I need to expose my dev webserver.
Post a Comment