Azure Startup.cmd无法绑定到localhost

时间:2013-12-10 05:33:25

标签: powershell azure azure-web-roles startupscript

开箱即用的Azure Web角色似乎将网站绑定到特定的IP地址。作为部署的一部分,我们需要绑定网站以侦听localhost或127.0.0.1。

我已将服务定义配置如下:

<Startup>
      <Task commandLine="Startup.cmd" executionContext="elevated">
        <Environment>
          <Variable name="ComputeEmulatorRunning">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
          </Variable>
        </Environment>
      </Task>
    </Startup>

在Starup.cmd文件中,我排在下面:

  

eventcreate / ID 1 / L APPLICATION / T INFORMATION / SO AzureRoleStartup   / D“执行:BindIISSite.ps1”powershell -NoProfile -ExecutionPolicy   unrestricted -Command“。\ BindIISSite.ps1”

在BinIISite.ps1上我的PS脚本如下:

import-module WebAdministration
New-WebBinding -Name "*MyWebsite*" -IPAddress "*" -Port 8089 

通过上面的所有设置,我注意到“MyWebSite”没有绑定到端口8089的*。

但是当我在Azure VM中手动运行startup.cmd时,它似乎正确绑定。知道上面可能有什么问题吗?

1 个答案:

答案 0 :(得分:0)

New-WebBinding cmdlet参数Name不接受通配符,因此在您的脚本中,它正在查找文字名为*MyWebSite*的网站,这可能导致绑定到失败。