Почему запрос, использующий взаимный TLS, вызывает периодический тайм-аут с Fiddler? - PullRequest
0 голосов
/ 24 октября 2018

Я помещаю запрос в службу HTTP, защищенную взаимной аутентификацией TLS через Fiddler с закрытым ключом, соответствующим образом настроенным в Fiddler .

Когда я отправляю любой запрос без включенного Fiddler, все работает отлично.

Когда я отправляю небольшие (<~ 20 КБ) запросы с включенным Fiddler, все работает нормально.</p>

Когда я отправляю запросы большого размера (~> 20 КБ) с включенным Fiddler, время ожидания запроса истекает с ошибкой:

[Fiddler] ReadResponse () не удалось: сервер не сделалвернуть полный ответ на этот запрос.Сервер вернул 0 байт.

Как ни странно, Fiddler успешно отправит большие запросы примерно в 1 из 20 попыток.Поведение является идентичным независимо от отправки запроса через прокси-сервер, повторного запроса или воспроизведения из композитора.Поскольку сервер, по-видимому, согласовывает PFS, я не могу исследовать HTTP-трафик с помощью Wireshark или другого инструмента захвата.Ведение журнала WCF не объясняет проблему - на самом деле она даже не показывает запрос.

Появляется само соединение (TCP-соединение), данные передаются (неизвестно, отправляется ли весь HTTP-запрос),канал не используется в течение двух минут, затем сервер отправляет RST (инициируя ошибку).

C # Клиент:

var handler = new HttpClientHandler();
handler.ClientCertificates.Add(new X509Certificate2(File.ReadAllBytes(@"C:\Users\user\Documents\Fiddler2\ClientCertificate.cer")));
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
var hc = new HttpClient(handler);

var resp = await hc.PostAsync("https://host.fqdn/path/to/svc/createDocument", 
    new StringContent(File.ReadAllText("req.xml"), Encoding.UTF8, "application/xml"));
var respcontent = await resp.Content.ReadAsStringAsync();

HTTP-запрос:

POST https://host.fqdn/path/to/svc/createDocument HTTP/1.1
Content-Type: application/xml;charset=utf-8
Host: host.fqdn
Content-Length: 25736

<...snip 25736 byte long xml file ...>

Версия:

Веб-отладчик Progress Telerik Fiddler

v5.0.20182.28034 для .NET 4.6.1 Построен: среда, 27 июня 2018 года

Copyright © 2003-2018 Telerik EAD.Все права защищены.

...