Идентификатор сервера балансировки нагрузки Azure
У нас есть две виртуальные машины (классическая) в наборе доступности, и через конечные точки определен балансировщик нагрузки на порту 80.
На каждой виртуальной машине работает 5 веб-сайтов, и балансировщик нагрузки распределяет вызовы между сервером 1 и сервером 2.
Когда я звоню на один из веб-сайтов, например, www.mysite.com, можно ли как-то определить, какой сервер обслуживал запрос?
Можно ли заставить балансировщик нагрузки пинговать конкретный сервер? Это может быть очень полезно, когда мы развертываем новую версию веб-сайта, например, на сервере 1, и мы хотим проверить, работает ли она на сервере 1
Спасибо
2 ответа
Я бы включил заголовок "Сервер:" в мой ответ: rfc2616-sec14., Затем вы можете проверить это с помощью Chrome Developer Tools (Network) или любого другого аналогичного инструмента.
В конце я выяснил, как это можно сделать. Надеюсь, мой ответ будет полезен кому-то с подобной проблемой
-Идентификация серверов, как предложил ArneRie, может быть выполнена путем добавления настраиваемого ответа HTTP-заголовка - https://technet.microsoft.com/en-us/library/cc753133(v=ws.10).aspx
Позвонить на конкретный сервер
- На портале Azure создайте новую конечную точку, например, 802 -> 8181.
- RDC к серверу открыт порт 8181
- Установите утилиту переадресации портов https://sourceforge.net/projects/pjs-passport/
- Установите новое правило: весь трафик с 8181 должен быть перенаправлен на 80 (так как исходный порт использует IP-адрес внутреннего сервера)
- Звоните www.mysite.com:802 и он будет обслуживаться с определенного сервера
- Повторите шаги 1-4 с другим сервером, просто используйте другой порт, например, 801, 803...