Перевод подготовила команда проекта http://break-people.ru
Секция: ERROR PAGE
-----------------------------------------------------------------------------
TAG: error_directory
Этот тэг определяет директорию, где расположены HTML страницы, которые будут выводится пользователю при возникновении HTTP ошибки, т.н. Error pages(например, 404 File Not Found или 502 Bad Gateway и т.п.). Если вы хотите создать и использовать свои собственные страницы с сообщениями об ошибках, то вы можете взять в качестве шаблона те, которые выдаются по умолчанию. По умолчанию, они(страницы), расположены в /usr/local/etc/squid/errors/English. Внимание! Путь зависит от операционной системы. Таким образом вы копируете эти страницы в некоторый каталог, например в /usr/local/etc/squid/errors/myPages, изменяете их в соответствии со своими пожеланиями и, затем, устанавливаете этот путь, значением тэга 'error_directory'.
Получится что-то вроде этого:
error_directory /usr/local/etc/squid/errors/myPages
По умолчанию:
error_directory /usr/local/etc/squid/errors/English
TAG: error_map
Этот тэг позволяет назначить определенный HTML-файл для вывода пользователю, при возникновении определенной HTTP ошибки.
ВНИМАНИЕ: Если вы хотите использовать этот тэг, то необходимо, чтобы Squid работал в режиме Accelerator(т.н. Обратный прокси), т.е., чтобы был включен внутренний веб-сервер Squid. Либо вместо внутреннего веб-сервера Squid, можно использовать Apache.
error_map message_url http_status ...
Вместо http_status ..., следует поставить номер HTTP ошибки.Например, 404
Этот тэг полезен при использовании редиректоров(accelerator), если они(редиректоры) возвращают(могут возвращать) коды ошибок отличающиеся от общепринятых.
error_map http://your.server/error/404.shtml 404
Запросы к страницам об ошибках, выполняются методом GET. К запросу дополнительно присоединяются следующие заголовки:
X-Error-Status: HTTP статус-код ошибки (например, 404)
X-Request-URI: Запрошенный URI, который вызвал ошибку
Также присоединяются заголовки от клиента:
User-Agent, Cookie, X-Forwarded-For, Via, Authorization, Accept, Referer
В ответе сервера, будут содержатся заголовки:
Server, Via, Location, Content-Location
Ответ от сервера будет содержать также все HTTP заголовки, которые пришли от клиента. Тело же ответа, будет взято из файла указанного в тэге error_map на эту HTTP ошибку.
По умолчанию:
none
TAG: err_html_text
Этот тэг определяет HTML текст который будет включатся во все сообщения об HTTP ошибках. Используйте его для указания e-mail адреса администратора, например.
Чтобы определить, где будет распологатся текст определенный в тэге err_html_text, вам следует отредактировать шаблон HTML файла, с сообщением об ошибке(можно найти в директории "errors"). В том месте, где вы хотите расположить указанный текст, добавьте тэг %L.
По умолчанию:
none
TAG: deny_info Как использовать?
Использование:
deny_info err_page_name acl
или так:
deny_info http://... acl
Пример:
deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
Этот тэг используется для определения возвращаемой страницы для запросов не прошедших правила, установленные через http_access. Также Squid позволяет использовать ACL, чтобы определить круг запросов, которые бы получали некоторую HTML-страницу. Вместо страницы, можно указывать и рисунки. Это может быть полезно, если вы хотите, вы режете баннеры через Squid. И чтобы страница, выдаваемая клиенту не сильно изменялась, вы можете назначить отображать вместо баннеров(например, вы режете баннеры через ACL url_regex), картинку с надписью - "Здесь был баннер". Всё зависит от вашей фантазии.
Вы можете использовать ERR_ страницы об ошибках, которые идут вместе со Squid или создать свои собственные и положить их в errors/ директорию.
Кроме того, вы можете указать URL страницы, которая будет выдаватся при возникновении HTTP ошибки. В таком случае, браузеры будут перенаправлены(код 302) на определенный URL.
Более того, вы можете сообщить Squid очистить TCP соединение через TCP_RESET.
По умолчанию:
none
Ссылки:
К содержаниюSquid на практике
Работа с Squid через Webmin
Анализатор логов Squid