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 的流量。但是,我有一个网络作业(位于插槽中),它使 PostAsJsonAsync 调用插槽 url,并且我收到一个禁止作为答案。我不知道网络作业的 IP 地址(它应该与网站/插槽相同),但无论如何,我没有在规则中使用它的静态 IP 地址。我应该如何解决这个问题?是否有另一种方法可以解决此问题而无需在 Azure 中保留 IP?

4

1 回答 1

1

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

于 2016-03-15T11:34:50.480 回答