Конфигурация Squid с ICAP-фильтром
Мы новичок в Squid и пытаемся настроить эту конфигурацию, мы не уверены, что это возможно:
- Входящий сжатый HTTP
- Распаковать и переслать в службу ICAP
- Войдите и откажитесь, если сервис ICAP возвратит 4xx
- Отправьте исходную сжатую полезную нагрузку в пункт назначения, если ICAP возвращает 2xx
Как я уже сказал, мы Squid n00bs, мы будем благодарны за любые мысли.
1 ответ
Это выполнимо, но немного по-другому. Я предполагаю, что вы имеете в виду gzip и дефлирование по сжатому HTTP.
ICAP имеет два режима:
- Режим запроса (браузер -> squid -> icap server-> squid -> веб-сервер)
- Режим ответа (веб-сервер -> squid -> icap server-> squid -> браузер)
Вы встретите сжатый контент обычно в режиме ответа. Squid отправит эти ответы в настроенную вами службу ICAP respmod без распаковки. Сервис получит инкапсулированный HTTP-ответ ICAP как есть. В задачу вашего ICAP-сервиса входит распаковка и дальнейшая обработка.
Если Squid получает один из ответов 4XX или 5XX, который является неисправностью, вы можете настроить Squid на обход модификации ICAP или показать страницу ошибок Squid.
Если вы хотите применить определенное действие, вы можете вернуть уведомление / заблокировать / перенаправить содержимое страницы из службы ICAP с кодом 200 статуса.
Если вы хотите вернуть исходный контент, просто верните "204 - Без изменений", и squid отправит исходный ответ без ожидания ответа из службы ICAP. Squid не поддерживает 204 для следующих случаев:
- Размер полезной нагрузки превышает 64 КБ.
- Размер полезной нагрузки не может быть (легко) установлен.
Если вы можете решить, менять содержимое или нет в режиме предварительного просмотра ICAP, это лучше.