2014-01-30 1 views
21

Есть ли способ определить исходящий IP-адрес веб-сайта (а не webrole)?Как определить исходящий IP-адрес Azure?

Я сделал обратный поиск * .azurewebsites.net, который возвращает один адрес, однако, когда я вручную проверяю его (если веб-приложение посещает веб-сервер i), он показывает совершенно другой IP-адрес.

Каков правильный способ сделать это?

+1

Чего вы пытаетесь достичь? Из-за легкой природы лазурных веб-сайтов может быть предпочтительнее не полагаться на информацию, которая может измениться как текущий IP-адрес. –

+1

У меня есть веб-сайт, который вызывает внешний интерфейс REST, который я хотел бы заблокировать по IP. У меня уже есть auth и ssl, но я хочу этот уровень защиты, так как мы имеем дело с высокочувствительными данными. –

ответ

1

Кажется, что Azure-сайты будут случайным образом использовать любой из IP-адресов центра обработки данных для исходящего трафика. Вы можете загрузить список IP-адресов здесь: http://msdn.microsoft.com/en-us/library/dn175718.aspx

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

+1

Пока вы не удаляете развертывание облачного сервиса, его IP-адрес не изменится. Нет необходимости в VPN imho. – ckonig

0
<script runat="server"> 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request["check"] == "1") 
    { 
     Response.Clear(); 
     Response.Write(HttpContext.Current.Request.UserHostAddress); 
    } 
    else { 
     Response.Write("Your IP: " + HttpContext.Current.Request.UserHostAddress + "<br />") ; 
     Response.Write("Server Outbound IP: " + GetOutBoundAddress()) ; 
    } 
} 

public string GetOutBoundAddress() 
{ 
    System.Net.WebClient wc = new System.Net.WebClient(); 

    try 
    { 
     return wc.DownloadString(Request.Url + "?check=1"); 
    } 
    catch (Exception) 
    { 
     return "not found"; 
    } 
} 

28

Azure веб-сайт может использовать случайный IP только из 4-х IP-адресов в масштабе единицы.

Для получения списка IP-адресов на единицу шкалы и инструкций о том, как определить шкалу масштаба вашего сайта, посмотрите here.

UPDATE: кажется, что все 4 IP-адреса шкалы теперь можно найти на новом портале Azure, и сообщение форума больше не будет обновляться.

С 20 июля 2015 года данное сообщение больше не будет обновляться с помощью IP-адресов. Вместо этого эта информация теперь можно найти в свойствах веб-сайта , используя новый портал (portal.azure.com).

Чтобы найти исходящие IP-адреса:

  1. Просмотр в деталях вашего конкретного веб-приложения с помощью нового портала в portal.azure.com.

  2. К началу подробностей вашего веб-приложения есть ссылка для «Все настройки». Нажмите на ссылку.

  3. Нажав кнопку «Все настройки», вы откроете список информации о веб-приложении, которую вы можете развернуть дальше. Конкретная информация для сверления - «Свойства». Нажмите «Свойства».

  4. Внутри UX «Свойства» есть текстовое поле, показывающее набор исходящих IP-адресов. Используя значок в боковой части «Исходящие IP-адреса» текстовое поле, вы можете выбрать все адреса. При нажатии Ctrl + C копируются адреса в буфер обмена.

+7

Являются ли эти «исходящие IP-адреса» статическими? – Jorik

+0

Какие сценарии или вызов API можно сделать, чтобы получить это, не нажимая меню GUI? – Snowy

+1

Вы также можете найти IP-адреса с https://resources.azure.com (https://resources.azure.com/subscriptions/YOUR-SUBSCRIPTION-GUID/providers/Microsoft.Web/sites) – jtmnt

5

Вы можете получить свойство "Outbound IP-адреса" с помощью PowerShell.Вот команда:

(Get-AzureRmResource -ResourceGroupName inhabit-adminservices -ResourceType Microsoft.Web/sites -ResourceName YOUR_RESOURCE_NAME).Properties.OutboundIpAddresses -Split "," 

Где YOUR_RESOURCE_NAME это имя группы ресурсов.

Смежные вопросы