2011-10-11 46 views
1

最近,我將我的dev env從ver1.1升級到了Azure SDK的1.5版本(我知道 - 我有點太遲:))如何在Azure SDK中強制打開端口80上的webrole(azure sdk 1.5)

我注意到的是我的卷軸始終在81號港口開放。有沒有辦法讓我在我的開發環境中強制在端口80上打開天藍色的webrole?

的原因,我需要的是這樣的:

  1. 我有連接到我的webrole瀏覽器擴展 - 它預計webrole是在80端口;到目前爲止,在開發環境測試很容易 - 我只需要做一個等/主機重定向,我的常規瀏覽器插件將連接到我的開發結構。

  2. 在我的網站上,我還提供來自google/facebook的open-auth身份驗證。我就不能來測試我的dev的包膜,如果我訪問它www.mywebsite.com:81/代替www.mywebsite.com的

任何人有一個指針?

卡皮爾

+0

我/絕不/管理,以100%可靠地得到這個去。 –

回答

0

只要確保80端口可用。計算模擬器將採用您請求的端口或上面的第一個可用端口。

+0

Steve,我試圖清理端口80,通過在IIS上設置我的默認網站來綁定到不同的端口。但是,這也沒有清除端口80.我在這裏詳細討論這個線程 - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/5447f16e-2eed-4170-9771- 17c7c9e7e570?prof = required – Kapil

+0

如果你還可以看看社交msdn theread – Kapil

+0

這個問題已經解決了 - 詳情請見http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/螺紋/ 5447f16e-2eed-4170-9771-17c7c9e7e570?的教授=所需 – Kapil

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

+0

dimko1,你是否建議我不能在dev-fabric模擬器上實現這個功能?當我在azure上部署我的應用程序時 - webrole監聽端口80本身,但是當我在dev-fabric上啓動它時,它總是從端口81開始。上面提到的論壇帖子涉及在啓動之前正確清潔devfabric再次調試webrole。 – Kapil

+0

是的。正如它在開發織物上所告知的那樣,第一個開放端口將被使用。因此,確保在啓動ov dev結構之前未使用端口80。我想你有一些Web應用程序已經在使用這個端口 – dimko1

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"; } 

我還沒有測試過它,但我認爲這可以給你一個如何去做的指針。