2015-02-11 6 views
0

Недавно мы столкнулись с проблемой, что наша веб-роль на Azure получила IP-адрес, который ранее был связан с трекером thepiratebay. Это означало около 5 000 000 запросов, которые были 404. Проблема DNS-сервера, на которую я верю.Azure - Роли в Интернете - отфильтровывание запросов на основе хоста

Что бы я хотел сделать, это отфильтровать запросы, которые указывают на разные хосты, чем наши сайты. Можно ли добиться этого через HostHeader атрибута в

<ServiceDefinition name="AB.AzureSite" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4"> 
    <WebRole name="AllBlacksdotcom" vmsize="Medium"> 
    <Sites> 
     <Site name="Web"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader=""/> 
     </Bindings> 
     </Site> 
    </Sites> 

Мы хотели бы, чтобы избежать попадания запросы наших сайтов на всех (например, запрос, которые предназначены для хоста track.thepiratebay.org). Это возможно?

+0

Это должно быть опубликовано на ServerFault, поскольку это вопрос инфраструктуры Azure, а не вопрос программирования. –

+2

Ну, на самом деле это не связано с настройкой веб-роли. –

ответ

2

Невозможно полностью обработать нежелательные запросы skip /turn off. Однако использование атрибута hostHeader приведет вас довольно близко к некоторым компромиссам. Проверьте documentation here.

Существует по крайней мере один улов:

  • При использовании заголовка узла, ваш сайт будет только ответ на запросы с этим заголовком.

  • Вы не можете использовать подстановочные знаки в атрибуте hostHeader.

Этот атрибут применяется непосредственно к связывающим собственности веб-сайта в IIS host header. И как таковая - никаких подстановочных знаков не поддерживается.

Так вот только запросы, которые описывают то, что вы определили в hostHeader, приземлится на ваш сайт. Остальные запросы, однако, все равно приземлятся на Default Web Site в IIS.

Вы можете отключить Default Web Site через start-up task (some example for changing IIS settings via Startup Tasks).

2

Если вы находитесь на уровне заголовка хоста, трафик уже поражает ваши экземпляры роли. Единственный способ блокировать трафик до этого - это списки контроля доступа (ACL) на конечных точках.

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