Я использую промежуточный слот в 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-адреса, чтобы использовать его в правиле. Как мне решить эту проблему? Есть ли другой способ решить эту проблему без резервирования IP-адреса в Azure?