Как настроить сервер Squid для поддержки ошибки 503 icap (служба перегружена) - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть установка, которая содержит следующие устройства:

1. file server
2. squid proxy server
3. clients
4. icap server.

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

Однако скорость сканирования сервера icap меньше, чем пропускная способность сети, поэтому в случае интенсивного трафика она может быть перегружена.

По этой причине icap RFC 3507 определил ответ 503, чтобы уведомитьsquid, чтобы повторить сканирование файла, так как он временно перегружен.Вот точное определение:

503 - Сервис перегружен.Сервер ICAP превысил максимальный предел соединения, связанный с этой услугой;клиент ICAP не должен превышать это ограничение в будущем.

Моя реализация icap использует python socketServer на основе класса ThreadingMixIn для обработки каждого входящего соединения.Я хотел бы предотвратить новое соединение в случае, если количество активных потоков превысило предопределенный maxval.

Однако, глядя на логи squid, кажется, что он не знает, как обработать этот запрос, и не пытается повторить сканирование (ICAP_ERR_OTHER/503).

Есть ли какие-либоспособ настроить сервер Squid для распознавания этого типа ошибки?

...