Балансировщик нагрузки Azure идентифицирует сервер

у нас есть две виртуальные машины (классические) в группе доступности и через конечные точки, определенные балансировщиком нагрузки на порту 80.

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

Когда я звоню на один из веб-сайтов, например. www.mysite.com можно ли как-то определить, какой сервер обслужил запрос?

Можно ли заставить балансировщик нагрузки пинговать определенный сервер? Это может быть очень полезно, когда мы развертываем новую версию веб-сайта, например. на сервере 1, и мы хотим проверить, работает ли он на сервере 1

Благодарность


person James    schedule 06.05.2016    source источник


Ответы (2)


Я бы включил заголовок «Сервер:» в свой ответ: rfc2616- сек14.. Затем вы можете проверить это с помощью Chrome Developer Tools (Network) или любого другого подобного инструмента.

person opHASnoNAME    schedule 07.05.2016

В конце концов, я понял, как это можно сделать. Надеюсь, мой ответ будет полезен тем, у кого есть похожая проблема.

-Идентификация серверов, как предложил ArneRie, может быть выполнена путем добавления пользовательского ответа заголовка HTTP - https://technet.microsoft.com/en-us/library/cc753133(v=ws.10).aspx

Позвонить на определенный сервер

  1. На портале Azure создайте новую конечную точку, например. 802 -> 8181.
  2. RDC к серверу открытый порт 8181
  3. Установите утилиту переадресации портов https://sourceforge.net/projects/pjs-passport/
  4. Установите новое правило: весь трафик, поступающий с 8181, должен перенаправляться на 80 (поскольку исходный порт использует внутренний IP-адрес сервера)
  5. Позвоните по адресу www.mysite.com:802, и он будет обслуживаться с определенного сервера.
  6. Повторите шаги 1-4 с другим сервером, просто используйте другой порт, например. 801, 803...
person James    schedule 07.05.2016