Windows Azure无法在具有不同端点数的部署之间执行VIP交换

Dee*_*101 5 azure-web-roles

我正试图通过azure门户网站执行VIP交换,我收到错误:

Windows Azure无法在具有不同端点数的部署之间执行VIP交换.

我看得更近了,我看到了端点数的差异(生产中的2个与分期中的3个).

生产:

Input Endpoints
OUR.API:168.62.21.50:80 
OUR.API:168.62.21.50:3389
Run Code Online (Sandbox Code Playgroud)

分期:

Input Endpoints
OUR.API:168.62.22.55:80 
OUR.API:168.62.22.55:3389 
OUR.API:168.62.22.55:8172
Run Code Online (Sandbox Code Playgroud)

端口80是web,3389是远程桌面.到现在为止还挺好.那个额外的港口8172来自哪里?应用程序中的任何内容都不会侦听端口80以外的任何内容.此外,临时和生产区域中的应用程序几乎完全相同 - 因此它必须是框架.缩小范围的任何步骤?

[编辑]另外,我的角色的ServiceDefinition.csdef只定义了一个端点:

 <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
Run Code Online (Sandbox Code Playgroud)

Dee*_*101 8

"那个额外的港口8172来自哪里?"

它来自在发布设置中启用的WebDeploy

答案很长:

我在暂存和生产之间逐个解析整个配置,这是我发现的:

您的发布设置已保存到

<azurerole>\Profiles\<yourprofilename>.azurePubxml

我的生产部署 <AzureEnableWebDeploy>True</AzureEnableWebDeploy>在我的暂存部署期间进行了<AzureEnableWebDeploy>False</AzureEnableWebDeploy>

然后,Azure基础架构会查找并打开端口8172,以便在暂存角色上启用WebDeploy.这就是为什么尽管ServiceDefinition.csdef文件中没有定义新的端点,但端点是不同的.

我不确定为什么有不同数量的端点应该阻止Azure出版物本身.