允许来自 Azure 暂存槽中的网络作业的流量

Allow traffic from a webjob in a staging slot in Azure

我在 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,并且我收到了一个 forbidden 作为答案。我不知道 webjob 的 IP 地址(它应该与 website/slot 相同),但无论如何,我没有静态 IP 地址可以在规则中使用它。我应该如何解决这个问题?有没有在 Azure 中保留 IP 的情况下解决此问题的另一种方法?

好的,我明白了。无需保留 IP。我刚刚将所有可能的出站 IP 添加到我的 web.config,现在可以使用了。我错过了入站和出站 IP 不同的事实。 webjob与网站有相同的虚拟IP,但可以有多个出站IP。 Those outbound IPs 在 Azure 门户中。