2010-10-04 1 views
2

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

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

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

ответ

4

Без написания кода вы можете просто настроить настраиваемый заголовок ответа HTTP для каждой машины в диспетчере IIS. Вам нужно вручную вводить каждый IP-адрес или идентификатор вручную, используя либо GUI, либо 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']" 

Я разделить эти команды на две строки только для размещения их в Вы должны ввести их в качестве одна линия.