2013-10-24 55 views
2

我試圖限制只有特定的IP地址到我的Azure託管的WCF服務。我按照雙方的基於以下網站列出的說明:Windows Azure與WCF Web角色和通過web.config限制IP

http://msdn.microsoft.com/en-us/library/windowsazure/jj154098.aspx

http://blog.elastacloud.com/2011/04/06/restricting-access-by-ip-in-azure-web-role-v1-4/

但我還是能夠從所未列出的地址訪問該服務。有什麼我失蹤?

下面是CMD文件:

@echo off 

@echo Installing 「IPv4 Address and Domain Restrictions」 feature 
%windir%\System32\ServerManagerCmd.exe -install Web-IP-Security 

@echo Unlocking configuration for 「IPv4 Address and Domain Restrictions」 feature 
%windir%\system32\inetsrv\AppCmd.exe unlock config -section:system.webServer/security/ipSecurity 

而且在web.config部分:

<system.webServer> 
    <security> 
    <!-- IP addresses are denied access --> 
    <ipSecurity allowUnlisted="false"> 
     <!--The following IP addresses are granted access --> 
     <clear /> 
     <add allowed="true" ipAddress="x.x.x.x" /> 
    </ipSecurity> 
    </security> 
    </system.webServer> 
+3

你確定啓動任務運行成功嗎? RDP放入盒子中,看看是否可以在服務器上本地運行命令。我這樣說的原因是我遇到了startup.cmd文件由於編碼而無法運行的問題。如果您使用Visual Studio創作startup.cmd文件,請嘗試使用File |高級保存選項並選擇UTF-8無簽名選項。 –

+0

謝謝你。我對Azure很陌生,所以我不知道你可以將RDP加入角色。我做了,發現第一個命令失敗了。我猜是因爲它在2012年的服務器上。我將考慮使用Power Shell執行相同的操作並使用以下Cmdlet technet.microsoft.com/en-us/library/jj205467.aspx – Chris

回答

2

感謝里克·雷尼我發現我可以RDP到Web角色和手動運行該腳本。我發現,腳本的第一部分是失敗,因爲應用程序是在服務器上運行2012年我把它改爲:

PowerShell的-ExecutionPolicy無限制-command「安裝-WindowsFeature網絡IP-安全」

而且現在一切正常......