Some networks are more restrictive than others, and (much to my continual chagrin) this is especially true here at Microsoft. As I wrote and tested the post Using Web Deploy with Windows Azure for Rapid Development, I found that I was not able to use Web Deploy on port 8172; turns out that we prevent SSL traffic on any port but 443. Fortunately, it’s pretty easy to resolve this restriction by modifying the Input Endpoint values in the Service Definition.

Essentially, we need to map an external port (e.g. the port to which you will publish) to a local portal on the machine (e.g. the port with which Web Deploy listens). On the Microsoft network, this means that I’ll publish to port 443 but need it to resolve to a local port of 8172.

Before starting, review my post on using Web Deploy with Windows Azure. There are only two differences, as noted below.

First, update the InputEndpoint values in your Service Definition file (ServiceDefinition.csdef) to map the external port to a local port.

Code: InputEndpoint

Second, after you’ve deployed to Windows Azure and your instance is up and running, you’ll need to update your publish settings for Web Deploy – specifically, the Service URL. Here are the values that I’ve gotten to work:

WebDeployOn443

The screen shot cuts off the service URL. The full URL is:

https://mywebdeploy.cloudapp.net:443/msdeploy.axd

Of course, you’ll need to update these values to your DNS name and the port to which you’ll deploy.