- Goal: To alter the error pages layouts and content generated by
Squid. - Status: complete.
- Version: 2.1
- Developer: Unknown.
🔗 Details
Squid lets you customize your error messages. The source distribution
includes error messages in different languages.
From Squid 3.1:
- CSS hooks are available for display redesign and coloring.
- Language translations are done by default automatically when
language pages are installed. See Translations Project
for more details on those.
For older Squid you can select the language with the configure option
–enable-err-language=lang.
If needed, you can make a copy and re-write the error message template
files in any version.
🔗 deny_info URL codes for embedding
Squid-2.1 toSquid-3.1
only provide this macro code:
-
- %s
- Absolute URL requested by client
Squid-3.2 adds URL templating codes:
-
- %a
- User identity
-
- %d
- seconds elapsed since request received (not yet implemented)
-
- %e
- errno
-
- %E
- strerror()
-
- %h
- Squid public hostname
-
- %H
- server host name
-
- %i
- client IP address
-
- %I
- server IP address (NP: upper case i)
-
- %M
- Request Method
-
- %o
- Message returned by external ACL helper
-
- %p
- URL port number
-
- %P
- Protocol
-
- %R
- URL path requested.
-
- %S
- Squid version signature.
-
- %s
- Absolute URL requested by client
-
- %t
- local time
-
- %T
- UTC
-
- %U
- Absolute URL without password. Uses * instead of path for CONNECT
requests.
-
- %u
- Absolute URL with password. May be missing path on CONNECT requests.
-
- %w
- cachemgr email address
🔗 ERR_* template codes for embedding
This list describes the macro codes which Squid will replace in the
error response messages, and what details will be inserted:
-
- %a
- User identity
-
- %B
- URL with FTP %2f hack
-
- %c
- Squid error code
-
- %d
- seconds elapsed since request received (not yet implemented)
-
- %D
- Squid-generated error details. May contain other error page
formatting codes. Currently only TLS/SSL connection failures are
detailed. For example, %D in a customized
ERR_SECURE_CONNECT_FAIL response may be expanded into “The host
name you are connecting to (foo.com) does not match any of the
certificate names (foo.org, foo.net)…”). Supported since
Squid-3.2.
See also: application-level error code (%x) and system level error
code/detail (%e/%E).
-
- %e
- errno
-
- %E
- strerror()
-
- %f
- FTP request line
-
- %F
- FTP reply line
-
- %g
- FTP server message
-
- %h
- cache hostname
-
- %H
- server host name
-
- %i
- client IP address
-
- %I
- server IP address
-
- %l
- Local site CSS stylesheet
-
- %L
- contents of err_html_text config option
-
- %M
- Request Method
-
- %m
- Error message returned by external auth helper
-
- %o
- Message returned by external acl helper
-
- %p
- URL port number
-
- %P
- Protocol
-
- %R
- Full HTTP Request
-
- %S
- squid default signature
-
- %s
- caching proxy software with version
-
- %t
- local time
-
- %T
- UTC time
-
- %U
- URL without password
-
- %u
- URL with password
-
- %W
- Extended error page data URL-encoded for mailto links.
-
- %w
- cachemgr email address
-
- %x
- Application-level error name or identifier (e.g.,
X509_V_ERR_UNABLE_TO_GET_CRL). Currently only supported for
SSL certificate validation errors. See also: system-level error
code/detail (%e/%E) and application-level error detail (%D).
-
- %z
- DNS server error message
-
- %Z
- Message generated during the process which failed. May be
ASCII-formatted. Use within HTML PRE tags.
🔗 Custom error pages not displayed for HTTPS
HTTPS uses HTTP CONNECT messages to relay through a proxy. Due to
browser behaviour handling these CONNECT messages (described in
https://bugzilla.mozilla.org/show_bug.cgi?id=479880) any custom
error page produced by the proxy is ignored and a generic browser page
displayed instead.
Usually this browser page mentions connection faulure or other such
irrelevant details.
In fact any response other than 200 OK is completely dropped by the
browser and the same browser template page displayed. This can lead to
some very weird authentication problems when using HTTPS through an
authenticated proxy as well for authentication schemes where the 407
message body has relevance.
Categories: Feature
Navigation: Site Search,
Site Pages,
Categories, 🔼 go up
- Печать
Страницы: 1 [2] 3 Все Вниз
Тема: Изменить отображение окна запрета в SQUID (Прочитано 10185 раз)
0 Пользователей и 1 Гость просматривают эту тему.

PunseR
Так у меня лежит в /etc/squid/errors/ru/images
значит сделать для своей папки, не надо все буквально воспринимать =)
Сначала сделал sudo chmod 644 images/* и меня даже в систтему не пускало, потом под рутом пришлось делать папке /etc 777.
эммммммм
а зачем на /etc длать 777 ? это точно не причем
Я сделал, чтобы проверить наверняка. Всё-равно не помогает. А по умолчанию на /etc какие права? Не могу понять почему он не хочет отображать картинки, ведь это обычный html?
Кто винду поюзать рад, тот позорит наш отряд!!!

antaeus
уже в который раз прошу, вывод
ls -l /etc/squid/errors/ru/images/*

PunseR
уже в который раз прошу, вывод
ls -l /etc/squid/errors/ru/images/*
Вот:
-rwxrwxrwx 1 root root 20979 2006-06-24 05:54 /etc/squid/errors/ru/images/5.gif
-rwxrwxrwx 1 root root 36193 2011-03-07 10:13 /etc/squid/errors/ru/images/squid.png
-rwxrwxrwx 1 root root 12355 2011-03-07 09:22 /etc/squid/errors/ru/images/tux.png
Кто винду поюзать рад, тот позорит наш отряд!!!

antaeus
<img src=»полный путь до картинки»</a>

PunseR
<img src=»полный путь до картинки»</a>
Ну у меня <img src=»images/tux.png»>, а тег </a> зачем?
Кто винду поюзать рад, тот позорит наш отряд!!!

Yuriy_Y
-rwxrwxrwx 1 root root 20979 2006-06-24 05:54 /etc/squid/errors/ru/images/5.gif
-rwxrwxrwx 1 root root 36193 2011-03-07 10:13 /etc/squid/errors/ru/images/squid.png
-rwxrwxrwx 1 root root 12355 2011-03-07 09:22 /etc/squid/errors/ru/images/tux.png
Картинки однозначно в /etc хранить не стоит. Лучше в подкаталоге файла-сообщения об ошибке. В 10.04LTS x64 — это каталог /usr/share/squid-langpack.
Ну у меня <img src=»images/tux.png»>, а тег </a> зачем?
Это не полный путь, а относительный. И ссылается он как раз на подкаталог, см. выше.
« Последнее редактирование: 07 Марта 2011, 21:29:10 от Yuriy_Y »
С уважением, Юрий.

fisher74
Владелец и группа — рут, потому апач и не показывает, он по дефолту работает от юзверя
Не несите чепухи. Хоть владелец и рут, но доступ на чтение (ну и зачем-то на запись) рвзрешён всем.
Да и апач тут не при чём, читайте тему с самого начала. Странички показываются средствами squid.
А то картинкам …
Что-то подсказывает, что картинки нужно положить рядом со страничками ошибок, т.е.
/usr/share/squid3/errors/ru/images/
тогда и путь можно попробовать оставить относительный

Yuriy_Y
Владелец и группа — рут, потому апач и не показывает, он по дефолту работает от юзверя
Не несите чепухи. Хоть владелец и рут, но доступ на чтение (ну и зачем-то на запись) рвзрешён всем.
Да и апач тут не при чём, читайте тему с самого начала. Странички показываются средствами squid.
Точно, глупость сморозил. Спать охота уже.
Аднака, всеж пути курить надо, думается.
Что-то подсказывает, что картинки нужно положить рядом со страничками ошибок, т.е.
/usr/share/squid3/errors/ru/images/
тогда и путь можно попробовать оставить относительный
Вот errors у меня — это уже симлинк на другой каталог. Видимо, у меня сквид3 неправильный.
« Последнее редактирование: 07 Марта 2011, 21:33:52 от Yuriy_Y »
С уважением, Юрий.

PunseR
Владелец и группа — рут, потому апач и не показывает, он по дефолту работает от юзверя
Не несите чепухи. Хоть владелец и рут, но доступ на чтение (ну и зачем-то на запись) рвзрешён всем.
Да и апач тут не при чём, читайте тему с самого начала. Странички показываются средствами squid.Точно, глупость сморозил. Спать охота уже.
Аднака, всеж пути курить надо, думается.Что-то подсказывает, что картинки нужно положить рядом со страничками ошибок, т.е.
/usr/share/squid3/errors/ru/images/
тогда и путь можно попробовать оставить относительныйВот errors у меня — это уже симлинк на другой каталог. Видимо, у меня сквид3 неправильный.
Насчет доступа я уже писал, сделал чтобы проверить наверняка, в нем дело или нет. Картинки ложил в тот же каталог, что и страницы с ошибками, не помогло. Копировал каталог с ошибками в домашнюю папку и прописывал в сквиде его — тоже не помогло. И вот самый прикол, который я понять не могу, если я открываю страницу с ошибкой на своем компе в браузере рисунки отображаются, но на другом всё есть, кроме картинок
Кто винду поюзать рад, тот позорит наш отряд!!!

Yuriy_Y
Тогда показывай конфиги сквида.

PunseR
Тогда показывай конфиги сквида.
Вот, но я думаю не в конфиге дело:
Кто винду поюзать рад, тот позорит наш отряд!!!

Yuriy_Y
Думаю, что вот это:
error_directory /etc/squid/errors/ru
надо сделать так:
error_directory /usr/share/squid3/errors/ru
.
Ставил сквид с репов, файлы сообщений установились туда. Туда же надо поместить и картинки в подкаталог.

fisher74
Плюсую предыдущего оратора:
1. Вернуть страницы ошибок на родное место /usr/share/squid3/errors/ru (и не важно, что ru — это симлинк на другую директорию)
2. В конфиге вернуть соответсвующую строку к рекомендуемой
3. сложить картинки либо в /usr/share/squid3/errors/ru, либо в дочернюю директорию images.
4. предоставить права 644 на директорию с картинками и на сами картинки
Если всё это не поможет, то это только значит, что squid, скорее всего, так не умеет.
P.S. После изменения конфига не забудьте релоадить.

PunseR
Плюсую предыдущего оратора:
1. Вернуть страницы ошибок на родное место /usr/share/squid3/errors/ru (и не важно, что ru — это симлинк на другую директорию)
2. В конфиге вернуть соответсвующую строку к рекомендуемой
3. сложить картинки либо в /usr/share/squid3/errors/ru, либо в дочернюю директорию images.
4. предоставить права 644 на директорию с картинками и на сами картинкиЕсли всё это не поможет, то это только значит, что squid, скорее всего, так не умеет.
P.S. После изменения конфига не забудьте релоадить.
Сделал всё как написали, не помогает .
Пользователь решил продолжить мысль 08 Марта 2011, 10:07:24:
Кстати посмотрел свойства на другом компе, почему то картинку он пытается брать с того же адреса, куда и заходит
« Последнее редактирование: 08 Марта 2011, 10:07:24 от PunseR »
Кто винду поюзать рад, тот позорит наш отряд!!!

fisher74
Значит нужно поднимать свой httpd и туда складировать картинки, используя полный путь.
На сколько помню, в статьях про блокирование нежелательных картинок именно такой способ и использовали. Но было это в моей практике давно…
Пользователь решил продолжить мысль 08 Марта 2011, 10:12:41:
Более подробно — здесь
« Последнее редактирование: 08 Марта 2011, 10:12:41 от fisher74 »
- Печать
Страницы: 1 [2] 3 Все Вверх
Прочитано:
1 614
Сегодня я поделюсь наработкой, как видоизменить страницу блокировки Squid которая появляется когда пользователь заходит на ресурс который вынесен в черный список (BlackList.txt
) и не соответствует рабочему моменту. Все дальнейшее опирается на заметку ранее опубликованную.
ekzorchik@srv-squid:~$ sudo nano /usr/share/squid/errors/Russian-1251/ERR_ACCESS_DENIED
ekzorchik@srv-squid:~$ sudo service squid reload
Вот что в результате у меня получилось после добавления текста выделенного на представленном ниже скриншоте.
На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.
Contents
-
Squid is ugly
- Configuration
- Custom pages
Squid is ugly
Squid error pages are ugly, here’s how you can change it.
Configuration
This assumes you already have a squid proxy installation which is up and running.
Squid is serving static pages on errors, denies or on other problematic situations. All those pages can be found in /usr/share/squid/errors/. The pages are stored in folders with language names. Those folders are actually the squid translated pages.
We can change the language squid serves pages by editing /etc/squid/squid.conf configuration file. Find the error_directory directive and change it’s value to the path where your language files are stored.
error_directory /usr/share/squid/errors/Romanian
Ok, but this doesn’t make Squid error pages prettier! To get this issue fixed you can edit every page inside the error pages directory to suit your needs, or, you can use sed!
Custom pages
Make a copy of your language folder first.
mkdir /etc/squid/pages/ cp -r /usr/share/squid/errors/Romanian /etc/squid/pages/
Now cause it is HTML the pages inside that folder are written in, we can use CSS to prettify those. Here’s a simple sed usage to quickly search and replace the default squid error pages CSS tag with some custom CSS:
sed -i 's/<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>/<STYLE type="text/css"><!--BODY{width:70%; margin: 50px auto;font-family:Georgia,serif; color: #4a4a4a}a:link{color:#cc0000}a:visited{color:#666}--></STYLE>/g' *
Now edit again your squid config file and point error_directory to the new location of your error pages. Reload squid:
invoke-rc.d squid reload
Point a browser which uses you squid proxy to some impossible domain name. The resulted error pages are amazingly beautiful!
You can go further and customize your pages in any way you want. Good luck!