开箱即用的 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 "Executing: 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 时,它似乎绑定正确。知道上面可能有什么问题吗?