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

问题描述 投票:1回答:1

我在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?

azure web-config azure-webjobs azure-deployment-slots
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.