In your Windows 7/8 VM, go to Control Panel
> System
> Advanced system settings
> Computer Name
and click Change
. Name this whatever you like, e.g. windows. Restart your VM.
Open CMD or Powershell as administrator. Add a URL ACL entry for your new name on the port of your choice, e.g.
netsh http add urlacl url=http://windows:8080/ user=everyone
Open CMD or Powershell as administrator. Add an inbound firewall rule for this new port.
In Windows 8, the syntax is:
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in action=allow protocol=TCP localport=8080
In Windows 7, the syntax is:
netsh firewall add portopening TCP 8080 IISExpressWeb enable ALL
If you're using IISExpress, edit your applicationhost.config
file, typically found at your Documents\IISExpress\config\applicationhost.config
. Find your site under sites, and add a binding to the port using your machine name, e.g.
<bindings>
<binding protocol="http" bindingInformation="*:8080:localhost" /> <!-- This will be here already -->
<binding protocol="http" bindingInformation="*:8080:windows" /> <!-- Add this -->
</bindings>
If you're using IIS, open IIS Manager, find your site under YourMachineName
> Sites
> YourSiteName
. Right-click and select Edit Bindings...
. Add a binding with the host name you selected in step 1, e.g. Type: http, IP address: All Unassigned, Port: 8080, Host name: windows. Click OK
.
Startup IISExpress with Visual Studio or restart IIS from IIS Manager and hit your URL from a browser on your Mac/VM Host, e.g. http://windows:8080
http://stackoverflow.com/questions/3313616/iis-express-enable-external-request http://stackoverflow.com/questions/5442551/iisexpress-returns-a-503-error-from-remote-machines http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx
@justingarrick - would be soooooo awesome if there was a way to use powershell to set the site/bindings of your website ... in the IISExpress
applicationHost.config
file...