Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 7. Кастомизация страниц ошибок

imageПосле того как мы начнём в боевом режиме использовать прокси-сервер Squid3, возможно одна из первых вещей, которые захочется сделать – это кастомизация веб-страниц, возвращаемых прокси-сервером при разного рода ошибках доступа к запрашиваемым веб-ресурсам. В целом дизайн страниц ошибок в конфигурации по умолчанию в Squid3 на мой взгляд намного приятней, чем в том же Squid2 и поэтому, по большому счету, необходимости в какой-то сильной кастомизации нет. И самое простое здесь, что мы можем сделать, для того чтобы как-то приблизить этот дизайн к корпоративному – заменить логотип Squid, используемый на всех таких страницах на эмблему компании. Давайте рассмотрим эту нехитрую процедуру.

Для начала создаём новый логотип в формате png. При необходимости очищаем фон изображения с помощью онлайн-сервиса Photo editor online как описано например в заметке - Как сделать прозрачный фон у картинки.

Передаём получившийся графический файл логотипа, например это будет файл SBS-Logo.png с компьютера под управлением Windows на Linux-сервер (в нашем примере KOM-AD01-GW10). Сделать это можно например по протоколу SSH (ранее мы уже запустили службу сервера OpenSSH на KOM-AD01-GW10) с помощью утилиты WinSCP или PSCP. Передадим файл сначала в домашний каталог пользователя /home/user/ (или ~ для краткости):

C:\Tools\PuTTy\pscp -scp C:\Temp\My-Logo.png user@KOM-AD01-GW10:~/My-Logo.png

Указанный файл логотипа нам нужно сделать доступным по протоколу HTTP всем пользователям локальной сети без дополнительной аутентификации. Для этого можно, например, из домашнего каталога /home/user/ переместить файл лого в в каталог /var/www/html/ (корневой каталог веб-сервера Apache2, который доступен нам после его установки в предыдущей части):

sudo mv ~/My-Logo.png  /var/www/html/My-Logo.png

После этого правим ссылку на файл лого в настроечном файле каскадных стилей /etc/squid3/errorpage.css - в секции titles изменяем значение параметра background:

/* Page displayed title area */
#titles {
        margin-left: 15px;
        padding: 10px;
        padding-left: 100px;
        /* background: url('http://www.squid-cache.org/Artwork/SN.png') no-repeat left; */
        background: url('http://KOM-AD01-GW10.holding.com/My-Logo.png') no-repeat left;
}

Перезагружаем Squid:

sudo service squid3 reload

Проверяем результат, например набрав заведомо неверный URL

image

Помимо этого в основном конфигурационном файле Squid3 /etc/squid3/squid.conf есть ряд параметров, которые могут видоизменять формат выводимых данных на страница ошибок. Найти эти параметры можно в разделе ERROR PAGE OPTIONS:

error_directory
error_default_language
err_page_stylesheet
email_err_data
deny_info

Каждый из параметров имеет комментарии объясняющие возможные значения принимаемые в этих параметрах. На приведённом скриншоте страница ошибки принимает вид согласно параметрам настроенным в конфигурационном файле squid.conf, который мы рассмотрели в одной их прошлых заметок.

***

Предыдущие части цикла заметок:

Часть 1. Установка ОС на ВМ Hyper-V Gen2
Часть 2. Настройка диска для кэша Squid
Часть 3. Конфигурация DNS , NTP и установка Squid
Часть 4. Конфигурация Kerberos и NTLM
Часть 5. Конфигурация Squid 3
Часть 6. Настройка Proxy Auto Configuration (WPAD)

Следующие части цикла заметок:

Часть 8. Конфигурация SqStat
Часть 9. Конфигурация LightSquid
Часть 10. Отключаем IPv6

Всего комментариев: 6 Комментировать

  1. Сергей /

    Здравствуйте, подскажите будет ли работать данное решение для сайтов, работающих с помощью SSL https://

    1. Алексей Максимов / Автор записи

      Не будет

      1. Павел /

        Подскажите, а другого способа нет, чтобы открывалась страница запрета для https://

  2. Stifler /

    А вот у меня, например, сквид пишет: "Администратор вашего кэша: webmaster" Откуда он берет это webmaster, я так понимаю, это какая-то системная переменная? Где ее изменить? В конфиге сквида можно только вкл/выкл отображение этой строки, как задать e-mail или что конкретно написать (например, номер телефона) там не написано.

    1. Алексей Максимов / Автор записи

      Насколько я понимаю, этот адрес берётся из тэга cache_mgr конфигурационного файла squid.conf. При этом тэг email_err_data должен быть включён (on).

      1. Stifler /

        Действительно, спасибо!

Добавить комментарий