2013-12-10 60 views
0

開箱即用的Azure Web Role似乎將網站綁定到特定的IP地址。作爲部署的一部分,我們需要綁定網站來監聽localhost或127.0.0.1。Azure Startup.cmd無法綁定到本地主機

我已經配置我的服務定義如下:

<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的應用/ T信息/ SO AzureRoleStartup /d 「執行:BindIISSite.ps1」 的PowerShell -NoProfile -ExecutionPolicy 不受限制-Command」。\ BindIISSite.ps1"

在BinIISite.ps1我有以下PS腳本:

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

通過上面的所有設置,我注意到,「MyWebSite」未綁定到*端口8089.

但是當我運行啓動。在Azure VM中手動運行cmd,它似乎可以正確綁定。任何想法上面可能是錯誤的?

回答

0

New-WebBinding cmdlet參數Name不接受通配符,因此在您的腳本中,它正在查找字面名爲*MyWebSite*的站點,並且這可能會導致綁定失敗。

+0

有趣的是,爲什麼當我將RDP遷移到VM並手動運行startup.cmd時它工作正常。 –

+0

我認爲我們錯過了一些信息。腳本不起作用的確切情況是什麼?您是否試圖從工作站上針對VM上的資源運行此命令? –

+0

從啓動腳本作爲天藍色部署的一部分 –