最近,我将我的开发环境从Azure SDK的ver1.1升级到ver1.5(我知道-有点太晚了:))
我注意到我的webrole总是在端口81打开。在我的开发环境中,是否有一种方法可以强制打开端口80上的azure webrole ?
我需要这个的原因是:
-
我有一个浏览器扩展连接到我的webrole -它预计webrole是在端口80;到目前为止,在开发环境上进行测试很容易——我只需要做一个etc/host重定向,然后我的常规浏览器插件就会连接到我的开发结构。
-
在我的网站上,我还提供来自google/facebook的开放式认证。如果我访问它为www.mywebsite.com:81/而不是www.mywebsite.com
,我将无法在我的开发环境中进行测试。
谁有指针?
Kapil确保80端口可用。计算模拟器采用您请求的端口或在此端口之上的第一个可用端口。
如果你正在使用模拟器-这将是一个问题,因为它打开第一个空闲端口。
如果你将在azure上托管你的角色,你可以在配置文件中配置你的端口。
例如,在这个配置中:
<WebRole name="TestApplication1">
<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>
<ConfigurationSettings>
<Setting name="MyCustomSettingInAzure" />
</ConfigurationSettings>
您可以看到,对于端点1,我们配置端口使用编号为80。
更新:
我搜索了一下,发现了这篇文章:http://social.msdn.microsoft.com/forums/en/windowsazuredevelopment/thread/ae2df7e0 - 5005 - 4 - bcd - 8 b69 - bb53323eb589
有一些想法我相信可以帮助你。它需要在预构建操作中添加一些命令。再更新一次
请执行命令Netstat -a -n -o这将显示谁正在使用端口80
如果您不能在开发环境中强制使用端口80而不是端口81,即使端口可用,那么您可以安装Fiddler2并尝试在OnBeforeRequest()的底部添加以下Fiddler规则:
// Windows Azure force socket 80
if (oSession.host == "app.dev.com:81") { oSession.host = "127.0.0.1:80"; }
if (oSession.host == "127.0.0.1:81") { oSession.host = "127.0.0.1:80"; }
if (oSession.url == "127.0.0.1:81") { oSession.url = "127.0.0.1:80"; }
我还没有测试过,但我想这可以给你一个如何做的指针。
问题已解决。
http://social.msdn.microsoft.com/forums/en us/windowsazuredevelopment/thread/5447f16e - 2 -速度- 4170 - 9771 - 17 - c7c9e7e570?prof=required
基本上,我把IIS中的默认站点指向另一个端口,这是有效的
Kapil