Ключевые слова:squid, (найти похожие документы)
From: Осипов С.С. <demofly@mail.ru.>
Newsgroups: email
Date: Mon, 28 Apr 2005 14:31:37 +0000 (UTC)
Subject: Как привести страницы ошибок Squid в нормальный вид
Как красиво избавиться от подписей Squid и уродливых страниц ошибок Squid
Данная статья в первую очередь практически была сделана для систем
Gentoo Linux (www.gentoo.org). Тем не менее, все предельно просто
делается на иных Unix/Linux дистрибутивах, где известно, в какой папке
лежат шаблоны с ошибками squid. Как сделать на роутере прозрачный
кеширующий squid здесь не рассказывается. Отправной точкой для этой
статьи является настроенный роутер с прозрачным сквидом.
Все началось тогда, когда я решил установить на роутеры прозрачный сквид
без уведомления об этой особенности своих абонентов. Эти роутеры
обслуживают два офисных здания, в которых ютится масса организаций, и
порой не маленьких. Обзванивать длинный список компаний которых это мало
волнует в мои плланы не входило. После установки прозрачных squid
однажды упал интернет-канал и люди увидели ругань сквида вместо
привычных сайтов. И вот тут начались шквалом звонки, от которых у меня
по сей день неприятные воспоминания. И в тот день я понял что тупым
юзерам нельзя видеть сквид ни в каком его проявлении. Задача мной самим
была сформулирована так: чтобы юзер думал, что глючит его комп, а не
провайдер.
Итак, пусть шаблоны ошибок расположены в /etc/squid/errors/.
cd /etc/squid/errors/
здесь размещаем файл err.htm следующего содержания:
<html>
<head>
<title>Error</title>
</head>
<frameset framespacing="0" border="false" frameborder="0">
<frameset>
<frame name="index" src="http://md5.net.ru/spec/404/index.html?" target="main" scrolling="auto" noresize>
</frameset>
<noframes>
<body>
<p>This page uses frames, but your browser doesn't support them.</p>
</body>
</noframes>
</frameset>
</html>
после этого прогоняем такой список команд (достаточно скопировать в
консольную строку и запустить):
rm ERR_ACCESS_DENIED && ln -s err.htm ERR_ACCESS_DENIED
rm ERR_CACHE_ACCESS_DENIED && ln -s err.htm ERR_CACHE_ACCESS_DENIED
rm ERR_CACHE_MGR_ACCESS_DENIED && ln -s err.htm ERR_CACHE_MGR_ACCESS_DENIED
rm ERR_CANNOT_FORWARD && ln -s err.htm ERR_CANNOT_FORWARD
rm ERR_CONNECT_FAIL && ln -s err.htm ERR_CONNECT_FAIL
rm ERR_DNS_FAIL && ln -s err.htm ERR_DNS_FAIL
rm ERR_FORWARDING_DENIED && ln -s err.htm ERR_FORWARDING_DENIED
rm ERR_FTP_DISABLED && ln -s err.htm ERR_FTP_DISABLED
rm ERR_FTP_FAILURE && ln -s err.htm ERR_FTP_FAILURE
rm ERR_FTP_FORBIDDEN && ln -s err.htm ERR_FTP_FORBIDDEN
rm ERR_FTP_NOT_FOUND && ln -s err.htm ERR_FTP_NOT_FOUND
rm ERR_FTP_PUT_CREATED && ln -s err.htm ERR_FTP_PUT_CREATED
rm ERR_FTP_PUT_ERROR && ln -s err.htm ERR_FTP_PUT_ERROR
rm ERR_FTP_PUT_MODIFIED && ln -s err.htm ERR_FTP_PUT_MODIFIED
rm ERR_FTP_UNAVAILABLE && ln -s err.htm ERR_FTP_UNAVAILABLE
rm ERR_INVALID_REQ && ln -s err.htm ERR_INVALID_REQ
rm ERR_INVALID_RESP && ln -s err.htm ERR_INVALID_RESP
rm ERR_INVALID_URL && ln -s err.htm ERR_INVALID_URL
rm ERR_LIFETIME_EXP && ln -s err.htm ERR_LIFETIME_EXP
rm ERR_NO_RELAY && ln -s err.htm ERR_NO_RELAY
rm ERR_ONLY_IF_CACHED_MISS && ln -s err.htm ERR_ONLY_IF_CACHED_MISS
rm ERR_READ_ERROR && ln -s err.htm ERR_READ_ERROR
rm ERR_READ_TIMEOUT && ln -s err.htm ERR_READ_TIMEOUT
rm ERR_SHUTTING_DOWN && ln -s err.htm ERR_SHUTTING_DOWN
rm ERR_SOCKET_FAILURE && ln -s err.htm ERR_SOCKET_FAILURE
rm ERR_TOO_BIG && ln -s err.htm ERR_TOO_BIG
rm ERR_UNSUP_REQ && ln -s err.htm ERR_UNSUP_REQ
rm ERR_URN_RESOLVE && ln -s err.htm ERR_URN_RESOLVE
rm ERR_WRITE_ERROR && ln -s err.htm ERR_WRITE_ERROR
rm ERR_ZERO_SIZE_OBJECT && ln -s err.htm ERR_ZERO_SIZE_OBJECT
после этого перезапускаем сквид
/etc/init.d/squid reload
и вуаля - все должно красиво выглядеть в ситуациях когда падает инет или
случается еще какое-либо нарушение конфигурации доступа в инетернет. И
тупые юзеры не будут вам больше разогревать мозг, полагая что у них
что-то с браузером.
Детали для тех кто любит думать:
Линк http://md5.net.ru/spec/404/index.html? это ссылка на мой сайт где
лежит классическая ошибка IE.
Если вы поправите линк на свой будет страничка с вашей ошибкой.
Если есть желание выложить страничку как у меня - качайте архив отсюда:
http://md5.net.ru/spec/squiderr.tgz
Только не забудьте исправить ссылку в err.htm.
Важное примечание:
Не используйте стандартную папку для хранения ошибок, иначе при
очередном emerge -u squid вся наработка будет сброшена на дефолтовые
ошибки. Для обхода проблемы используйте параметр error_directory в
squid.conf для задания не зависящей от обновлений папки.