Skip to content

Instantly share code, notes, and snippets.

@GuyHarwood
Forked from justingarrick/IIS_Parallels_Win8_Mac.md
Last active August 25, 2016 15:06
Show Gist options
  • Save GuyHarwood/0fb3b887d81f8b46ed6f92d3fb2f0d42 to your computer and use it in GitHub Desktop.
Save GuyHarwood/0fb3b887d81f8b46ed6f92d3fb2f0d42 to your computer and use it in GitHub Desktop.
Expose IIS or IISExpress running in a Parallels Windows VM to your OS X host

###Expose IIS or IISExpress running in a Parallels Windows VM to your OS X host

####Rename your virtual machine In your Windows VM, go to Control Panel > System > Advanced system settings > Computer Name and click Change. Name this whatever you like, e.g. devserver. Restart your VM.

####Add an ACL rule 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://devserver:8080/ user=everyone

####Add a firewall rule 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

####Configure the IIS binding If you're using IISExpress, edit your applicationhost.config file, typically found at your Documents\IISExpress\config\applicationhost.config folder for vs2013 and previous.

If you are using Vs2015 this file is located in your solution under the .vs directory.

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:devserver" /> <!-- 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.

####Restart IIS/IISExpress 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

TODO

  • parallels network config
  • Hosts Edit

####Sources 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment