When creating a standard setup for the local Azure emulator, one typically wants to host the services on port 80 and 443 – aping reality. In this way, we can create in IIS express a “development environment” on production domain names (and ports), in Azure local cloud emulator a “QA” environment (that imposes more realistic firewalls and load balancers, system management etc), a staging push (in the Azure host cloud), and a production service (when one uses the Azure console to flip over the vips of the staging and production deployments.)
But, it doesn’t work unless no one else on the dev/QA machine is listening on port 80, etc. Otherwise, the azure cloud emulator maps ports (making a mess). We use netstat to find if anyone is listening (note the absence of 80 and 443, when noon is listening).
The obvious culprit is IIS (which you need to stop). But, also you need to stop ADFS (if installed). Netstat does a poor job of identifying who owns the processes. Folks also advise killing other processes, such as web deploy (and some SQL Service reporting service, also listening).