Получение 413 ошибок в IIS при одновременных сеансах с использованием одного и того же сертификата клиента HTTPS

У меня следующая проблема.

Я размещаю приложение WCF на IIS 8, которое принимаеттолько HTTPS-запросы с клиентскими сертификатами. Эта служба принимает сообщения POST, которые могут различаться по размеру (от нескольких байтов до 1 ГБ) и большую часть времени принимаются параллельно.

Клиенты получают слишком большой ответ объекта 413 Request в следующем случае:

Когда несколько соединений открыты стак же клиентский сертификат и много маленьких файлов загружены. В этом случае один запрос выполняется успешно, а все остальные - с ошибкой 413.

Проблема может быть решена путем установкиuploadReadAheadSize значение большего значения, чем сумма всех размеров параллельного вызова вsystem.webServer/serverRuntime раздел конфигурации, но это заставляет сервер выделять весь объем памяти для буфера упреждающего чтения для каждого вызова, что приводит к исчерпанию памяти сервером в случае многих одновременных вызовов.

Моя конфигурацияработает если звонки сделаны сразные клиентские сертификаты или в случае загрузки одного большого файла.

Я читал, что с IIS 6 была возможность установитьSSLAlwaysNegoClientCert в конфигурации исправить подобную ошибку. я пыталсяобходные установить это значение, но не удалось с помощью IIS 8.0. Я также попытался отключить кэш клиента SSL, чтобы отключить возобновление сеанса SSL, но это также не решило мою проблему.

Что может вызвать ошибки 413? Есть ли способ включить несколько параллельных загрузок с клиентским сертификатом на один и тот же сервер без использования всей памяти сервера.

Ответы на вопрос(1)

Ваш ответ на вопрос