Как настроить сервер squid для поддержки ошибки 503 icap (служба перегружена)

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

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 для распознавания этого типа ошибки?

0 ответов

Другие вопросы по тегам