Ошибка 408 «Request Timeout» при использовании Kaspersky Scan Engine
Статья обновлена: 23 ноября 2020
ID: 15644
Ошибка 408 «Request Timeout» при отправке запросов с тайм-аутом
Причина
- Если ответ приходит до указанного в запросе тайм-аута и содержит ошибку «Session Timeout», проблема вызвана наступлением тайм-аута сессии на стороне Kaspersky Scan Engine. Пример ответа:
HTTP/1.0 408 Request Timeout
Connection: close
Content-Type: text/plain
Server: KAVHTTPD/1.0
X-KAV-ProtocolVersion: 3
Date: Tue, 13 Oct 2020 09:43:07 GMT
Content-Length: 35
{
"error": "Session Timeout"
}
Connection: close
Content-Type: text/plain
Server: KAVHTTPD/1.0
X-KAV-ProtocolVersion: 3
Date: Tue, 13 Oct 2020 09:43:07 GMT
Content-Length: 35
{
"error": "Session Timeout"
}
- Если ответ приходит после указанного в запросе тайм-аута и содержит ошибку «scanResult»: «SERVER_ERROR», проблема вызвана наступлением тайм-аута задачи сканирования. Пример ответа:
HTTP/1.0 408 Request Timeout
Connection: close
Content-Type: text/plain
Server: KAVHTTPD/1.0
X-KAV-ProtocolVersion: 3
Date: Tue, 13 Oct 2020 10:43:20 GMT
Content-Length: 97
{
"object": "Memory",
"scanResult": "SERVER_ERROR"
}
Connection: close
Content-Type: text/plain
Server: KAVHTTPD/1.0
X-KAV-ProtocolVersion: 3
Date: Tue, 13 Oct 2020 10:43:20 GMT
Content-Length: 97
{
"object": "Memory",
"scanResult": "SERVER_ERROR"
}
Решение
- Чтобы устранить ошибку «Session Timeout», увеличьте тайм-аут сессии. Для этого откройте конфигурационный файл /etc/kavhttpd.xml и поменяйте значение параметра SessionTimeout на большее. Также вы можете увеличить тайм-аут сессии в панели управления Kaspersky Scan Engine. Инструкция ниже.
- Чтобы устранить ошибку «scanResult»: «SERVER_ERROR», увеличьте тайм-аут задачи сканирования. Для этого:
- Если вы используете API v3.0, увеличьте значение параметра timeout в отправляемой структуре JSON.
- Если вы используете API v1.0 или 2.0, увеличьте значение в HTTP-заголовке X-KAV-Timeout.
Ошибка 408 «Request Timeout» при сканировании файлов
При сканировании небольших составных файлов Kaspersky Scan Engine может возвращать ответ с ошибкой 408 «Request Timeout». В ответе может быть ошибка:
{
"object": "Memory", "scanResult": "SERVER_ERROR"
}
"object": "Memory", "scanResult": "SERVER_ERROR"
}
Или ошибка:
{
"error": "Session Timeout"
}
"error": "Session Timeout"
}
Ошибка может возникать при сканировании:
- архивов;
- упакованных образов диска;
- инсталляционных пакетов в форматах MSI, EXE или APK;
- файлов Java в форматах JAR, EAR или WAR.
Причина
Ошибка вызвана тем, что данные файлы, несмотря на малый размер, могут содержать большое количество подобъектов. Сканирование этих подобъектов занимает много времени.
Решение
- Увеличьте тайм-аут сессии. Для этого откройте конфигурационный файл /etc/kavhttpd.xml и поменяйте значение параметра SessionTimeout на большее. Также вы можете увеличить тайм-аут сессии в панели управления Kaspersky Scan Engine. Инструкция ниже.
- Увеличьте тайм-аут задачи сканирования. Для этого:
- Если вы используете API v3.0, увеличьте значение параметра timeout в отправляемой структуре JSON.
- Если вы используете API v1.0 или 2.0, увеличьте значение в HTTP-заголовке X-KAV-Timeout.
Как увеличить тайм-аут сессии через веб-консоль Kaspersky Scan Engine
- Откройте веб-консоль Kaspersky Scan Engine и перейдите в раздел Settings → Scanning.
- Установите тайм-аут в миллисекундах в поле Object scan timeout (ms).
Времени, которое указано в данном поле, должно быть достаточно для установки соединения, передачи файла в Kaspersky Scan Engine, сканирования файла и отправки ответа. Мы рекомендуем установить его достаточно большим, чтобы его хватило для передачи и сканирования файлов, которые вы планируете проверять.
Тайм-аут сессии будет увеличен.