Every tutorial for ASP.NET Web API shows you how to create a project, implement a couple controllers, and then test it from your browser using a localhost URL. How do you configure SSL? How do I test my new REST resources from another client on my LAN such as an app on a phone or a tablet or even a browser on another computer?
There are tutorials teach you how to deploy to Azure and to production IIS servers, but sometimes you aren't just building a website, and you want to do integration testing of a software system involving multiple sites or devices on your local network during development.
After messing with this and searching the Internet for answers for a few hours, I finally found something that addressed my issue: Scott Hanselman's blog entry. IIS Express is the answer.
SSL and debugging from other clients on the network used to be really difficult prior to VS 2010 SP1 and the advent of IIS Express. In VS 2010 and earlier, Cassini was your default development web server and didn't support SSL. You used to have to download and install the full-blown IIS and run it as a local service on your development machine. Starting with VS 2010 SP1, you can convert your project over to using IIS Express for development.
Use the steps on Scott's blog entry if you are on VS 2010. In VS 2012, IIS Express is the default development web server.
SSL
Using IIS Express, you can turn on SSL easily by modifying the properties of your project. Don't right-click and go to properties. That takes you to the wrong place. Highlight your project in the solution explorer and go to the menu: View->Other Windows->Properties Window (or press Alt+Enter). In the property window, set "SSL Enabled" to "True".
Configuring alternate URLs (not localhost)
You can configure the IIS Express URL bindings of your projects in a configuration file in your documents folder (e.g. C:\Users\Dan\Documents\IISExpress\config\applicationhost.config). Open that file and search for your project by name. Scott's blog entry walks you through setting up a non-localhost binding using the command-line. There are a couple of gotchas along the way with SSL and URL ACLs. Scott walks you through all of it.
Hope this helps someone in the future, but I wanted to post it so I could refer back to Scott's blog entry.
I used the information on the blog entry to create some Powershell modules to help set up the hosting of web services for testing from other machines using IIS Express: Powershell modules. Check out iis.psm1. It requires general.psm1. vs.psm1 might also be useful for building your project from Powershell.