Как узнать исходящий IP-адрес azure функции приложения во время выполнения? - PullRequest
3 голосов
/ 19 февраля 2020

Я пытаюсь определить IP-адрес, с которого мое приложение-функция azure пытается подключиться к другому приложению. Я знаю, что IP-адрес может принадлежать списку исходящих IP-адресов. Мне нужно знать конкретную c единицу и то же самое, когда код моего приложения функции работает.

При поиске решения я получил этот код как ответ

Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(o => o.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).First().ToString()

Но, к сожалению, он показывает IP какого-либо другого компьютера, который даже не отображается в исходящих IP-адресах.

Существует ли какой-либо конкретный c код, который может помочь мне определить, к какому IP-адресу принадлежит текущий экземпляр приложения функции?

1 Ответ

0 голосов
/ 26 февраля 2020

С здесь :

Каждое функциональное приложение имеет набор доступных исходящих IP-адресов. Любое исходящее соединение из функции, например, из внутренней базы данных, использует один из доступных исходящих IP-адресов в качестве исходного IP-адреса. Вы не можете заранее знать, какой IP-адрес будет использовать данное соединение. По этой причине ваша внутренняя служба должна открыть свой брандмауэр для всех исходящих IP-адресов функционального приложения.

Как я уже сказал в комментарии: если вы хотите знать эти IP-адреса из функций кода (хотя я не знаю, зачем вам это нужно), вам нужно будет использовать Azure Management SDK, чтобы сделать нечто подобное, чем то, что делает команда powershell в приведенной выше ссылке.

...