Как исправить ошибку «Ошибка HTTP 400. Размер заголовка запроса слишком длинный» из облачных служб Azure? - PullRequest
0 голосов
/ 29 апреля 2019

Мы проводим тест загрузки / производительности в нашей облачной службе Azure, где мы размещаем веб-API.После определенного количества вызовов (скажем, 500) облачный сервис выдает ошибку неверного запроса.

Мы создали веб-API в c # с использованием веб-роли и разместили их в облачной службе Azure.Я просмотрел несколько статей / форумов и попробовал несколько вариантов, как указано ниже: 1. Попытался увеличить размер экземпляра виртуальной машины облачного сервиса.2. Попытался увеличить значение «maxAllowedContentLength» до 52428800. 3. Попытался увеличить значение «maxRequestLength» с 5120 до 16240. 4. Использовать средство диагностики VS, чтобы проверить, не связана ли проблема с утечкой памяти.Ни одна из них не сработала.

После попадания в конечную точку примерно 450 - 500 раз эта ошибка возникает только из-за конечных точек, связанных с обменом данными с подсистемами.Эта ошибка не воспроизводится локально.Чтобы выйти из этой проблемы, мы должны либо повторно развернуть облачную службу, либо перезапустить облачную службу.В идеале облачный сервис должен работать, пока его потребление ресурсов не достигнет 100%.Но после каждых примерно 500 вызовов получается ошибка ниже, при максимальном использовании ресурсов 10 - 15%.

<HTML>
<HEAD>
<TITLE>Bad Request</TITLE> 
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">
</HEAD> 
<BODY>
<h2>Bad Request - Request Too Long</h2> 
<hr><p>HTTP Error 400. The size of the request headers is too long.</p> 
</BODY>
</HTML>

1 Ответ

0 голосов
/ 09 мая 2019

Не так просто ответить на вопрос «что здесь не так?» когда вы представлены с ошибкой 400. Это означает, что сам запрос как-то стал неисправным. Протокол HTTP HTTP не был правильно соблюден (по крайней мере, в зависимости от веб-сервера), поэтому запрос не может быть обработан. Сервер интерпретировал запрос как неисправный или даже вредный. Следовательно, он препятствует правильному отображению веб-сайта. Причины сообщения об ошибке обычно связаны с используемым браузером или ошибкой пользователя.

I неправильный URL: Как и в случае ошибки 404, генерируется неверный запрос, если пользователи неправильно вводят адрес в Интернете или, например, вставляют специальные символы, которые не допускаются.

Неправильные файлы cookie: Если файлы cookie в вашем браузере устарели или являются неправильными, это еще одна причина, по которой может возникнуть ошибка 400. Устаревшие записи DNS. Ваш DNS-кеш может содержать данные, которые ссылаются на неправильные IP-адреса.

Слишком большие файлы: Если вы попытаетесь загрузить файлы особо большого размера, сервер может отказаться принимать их. Сервер классифицирует это как «Плохой запрос». Слишком длинный заголовок: при связи клиент и сервер используют заголовок для определения запроса. Некоторые веб-серверы устанавливают верхний предел длины заголовков. Не сразу очевидно, в чем заключается проблема со связью, когда вы получаете сообщение об ошибке «HTTP 400 Bad Request». Однако если целевой веб-сервер использует IIS 7.0, IIS 7.5 или IIS 8.0, более подробную информацию можно получить из кода состояния:

  • 400.1: неверный заголовок назначения
  • 400.2: неверный заголовок глубины
  • 400,3: неверный заголовок, если
  • 400.4: неверный заголовок перезаписи
  • 400.5: неверный заголовок перевода
  • 400,6: недопустимое тело запроса
  • 400,7: недопустимая длина содержимого
  • 400,8: недопустимое время ожидания
  • 400,9: неверный токен блокировки

Ошибка может быть вызвана любой из вышеперечисленных причин. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...