1

最近,我将我的开发环境从 Ver1.1 升级到了 Azure SDK 的 1.5 版(我知道 - 有点太晚了 :))

我注意到我的 webrole 总是在 81 端口打开。有没有办法让我在我的开发环境中强制打开端口 80 上的 azure webrole?

我需要这个的原因是:

  1. 我有一个连接到我的 webrole 的浏览器扩展程序 - 它希望 webrole 在端口 80 上;到目前为止,在开发环境上进行测试很容易——我只需要做一个 etc/host 重定向,我的常规浏览器插件就会连接到我的开发结构。

  2. 在我的网站上,我还提供了来自 google/facebook 的开放式身份验证。如果我以 www.mywebsite.com:81/ 而不是 www.mywebsite.com 的形式访问它,我将无法在我的开发环境中对其进行测试

有人有指针吗?

卡皮尔

4

4 回答 4

0

好的 - 问题已解决。请参阅此线程以获取更多详细信息。

http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/5447f16e-2eed-4170-9771-17c7c9e7e570?prof=required

基本上,我将 IIS 中的默认站点指向不同的端口并且有效

卡皮尔

于 2011-10-14T05:38:10.097 回答
0

只要确保端口 80 可用。计算模拟器采用您要求的端口或上面的第一个可用端口。

于 2011-10-11T13:30:41.367 回答
0

如果即使端口可用也不能强制它在开发环境中使用端口 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"; }

我还没有测试过它,但我认为这可以给你一个如何做的指针。

于 2011-10-12T19:07:15.300 回答
0

如果您使用的是模拟器 - 这将是一个问题,因为它会打开第一个空闲端口。

如果您将在 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-4bcd-8b69-bb53323eb589

有一些想法我相信可以帮助你。它需要向您的预构建操作添加一些命令。

再更新一次

请运行命令:Netstat -a -n -o 这将显示谁在使用端口 80

于 2011-10-11T10:02:36.123 回答