我经历了多篇文章和SO问题,例如 - this,this和this(和许多其他人)
但是没有一个能解决我的问题。我想在一个云服务中部署两个Web角色。我尝试部署相同但发现一个正在运行而其他Web角色抛出 - Internet Explorer无法在firefox中显示网页/连接超时。
以下是我到目前为止所做的尝试: -
当我将应用程序或服务部署到云服务时,我有两个Web角色(应用程序和服务),例如http://xxxx.cloudapp.net,它运作正常。
但是当我尝试在端口8080和部署时部署App时在http://xxxx.cloudapp.net的端口80上进行服务,并尝试浏览 - http://xxxx.cloudapp.net,它会显示服务页面。
然而,在使用 - http://xxxx.cloudapp.net:8080浏览App时,它会抛出错误 - Internet Explorer无法在firefox中显示网页/连接超时。
但是当我的应用程序部署在端口80上时,我的应用程序工作正常。
这是ServiceDefinition文件: -
<ServiceDefinition name="AppServiceAzure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0">
<WebRole name="MyService" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<Certificates>
<Certificate name="mycert" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
<WebRole name="MyApp" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8080" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<Certificates>
<Certificate name="mycert" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
</ServiceDefinition>
我在这里缺少什么?
答案 0 :(得分:0)
每个Windows Azure Compute实例代表以下任一角色的虚拟服务器。
Windows Azure Compute instance
|
|_______[front-end] web server (Web role)
|
|
|_____Site1
|
|
|_____Site2
|
|
|_____Site3 etc.
或
|
|
|
|_______back-end/.NET] application server (Worker role)
or
|
|
|
|_______VM
我建议两种方法: 1)在一个角色中创建多个站点。(您将获得不同的端点) 2)或者将一个webrole部署到暂存,将其他角色部署到生产。 (你会得到不同的终点)