Как определить, какой веб-сервер в ферме обслуживал запрос? - PullRequest
3 голосов
/ 04 октября 2010

Мы отлаживаем периодически возникающие проблемы с веб-сайтом, работающим на IIS7.

Поскольку у нас много узлов за балансировщиком нагрузки, мы не можем сказать, какой хост ответил на данный запрос.Есть ли способ на уровне IIS, чтобы указать, какой хост обслуживал запрос?Например, может ли IIS добавить заголовок в ответе, который указывает IP-адрес хоста, отправившего ответ?

В идеале я хотел бы получить решение, не требующее какого-либо кодирования.

1 Ответ

5 голосов
/ 05 октября 2010

Без написания какого-либо кода вы можете просто настроить собственный заголовок ответа HTTP для каждой машины в IIS Manager.Вам нужно будет вручную вводить каждый IP-адрес или идентификатор вручную, используя графический интерфейс или APPCMD.EXE.Это можно сделать глобально для всех сайтов:

appcmd.exe set config -section:system.webServer/httpProtocol 
              /+"customHeaders.[name='X-Custom-Name',value='MyCustomValue']"

Или для одного сайта:

appcmd.exe set config "Default Web Site" -section:system.webServer/httpProtocol 
              /+"customHeaders.[name='X-Custom-Name',value='MyCustomValue']"

Я разделил эти команды на две строки, чтобы они просто подходили.введите их одной строкой.

...