Мы используем один сервер балансировки нагрузки, который перенаправляет нас на четыре других сервера и два других сервера, которые не входят в ферму сервера балансировки нагрузки. Конфигурация выглядит отлично выполненной администратором системы.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я хотел бы получить веб-ответ HTTP и взять заголовки ответа, я столкнулся с проблемой. Проблема, с которой я столкнулся, заключается в том, что «ссылка» с балансировкой нагрузки, которую я использую с сервера балансировки нагрузки, не дает ожидаемого мне ответа. Я использую приведенный ниже код в качестве примера.
try
{
var myHttpWebRequest = WebRequest.Create(url);
myHttpWebRequest.Credentials = credentials;
var myHttpWebResponse = myHttpWebRequest.GetResponse();
myHttpWebResponse.Close();
}
catch (WebException e)
{
Console.WriteLine("WebException: " + url);
Console.WriteLine("Web Exception Status: " + e.Status);
Console.WriteLine("\n");
if (e.Status == WebExceptionStatus.ProtocolError)
{
Console.WriteLine(((HttpWebResponse)e.Response).Headers);
}
}
Теперь WebExceptionStatus, который я использую, когда выполняю код на сервере с балансировкой нагрузки, - это «SendFailure», который не дает мне никакого результата «response.headers».
Если я установлю и использую "curl"
curl [load balance server url] -k -I
в командной строке я буду брать заголовки при использовании URL сервера балансировки нагрузки.
В заключение, моя цель - я хотел бы взять и использовать WebExceptionStatus, "X-FEServer", "www-Authenticate" и "Date" для некоторых целей, но это невозможно при использовании подхода c #, как указано выше, для извлечения .
Пожалуйста, убедитесь, что вы понимаете серверный подход с балансировкой нагрузки перед любым комментарием или ответом. Любое предложение будет полезно