允许来自Azure中的暂存插槽中的webjob的流量

时间:2016-03-14 22:47:54

标签: azure web-config azure-webjobs azure-deployment-slots

我在Azure中使用了一个临时插槽,我只允许某些IP访问它。我在web.config文件中写了以下规则:

<rule name="Block unauthorized traffic to staging sites" stopProcessing="true">
         <match url=".*" />
         <conditions>              
           <add input="{HTTP_HOST}" pattern="^mydomain\-mydomainslot1\."/>
           <!-- white listed IP addresses -->
           <add input="{REMOTE_ADDR}" pattern="ip1" negate="true"/>
           <add input="{REMOTE_ADDR}" pattern="ip2" negate="true"/>        
         </conditions>
         <action type="CustomResponse" statusCode="403" statusReason="Forbidden"
         statusDescription="Site is not accessible" />
       </rule>

插槽接受来自我的域,ip1和ip2的流量。但是,我有一个webjob(在插槽中)使PostAsJsonAsync调用到插槽URL,我收到一个禁止作为答案。我不知道webjob的IP地址(它应该与网站/插槽相同),但无论如何,我没有静态IP地址在规则中使用它。我该如何解决这个问题?是否有其他方法可以解决此问题而无需在Azure中保留IP?

1 个答案:

答案 0 :(得分:1)

好的,我已经想通了。没有必要保留IP。我刚刚将所有可能的出站IP添加到我的web.config并且它现在正在工作。我错过了入站和出站IP不同的事实。 webjob具有与网站相同的虚拟IP,但可以有多个出站IP。 Those outbound IPs位于Azure门户中。