Способы перенаправления запросов с заблокированных сайтов на заданную страницу в SQUID

Появилась необходимость настроить в Squid перенаправление на определенный сайт в случае если пользователь пытается зайти на сайт который находится в списке заблокированных. Я нашел для себя несколько способов реализовать данную задачу.

 

Рассмотрим способ мгновенного редиректа на заданный сайт и редирект с отображением страницы  ERR_ACCESS_DENIED (входящую в состав Squid) и через несколько секунд выполнять редирект на заданную страницу.

 

Сразу хочу предупредить, что выполнить перенаправление на заданную страницу в Squid возможно только при посещении пользователем HTTP сайтов. К сожалению с HTTPS сайтами перенаправление работать не будет. 

 

Проделываться все будет на Squid 3.5.19 (статья по установке) установленным на Ubuntu server 14.04. Но уверен что способы будут работать и на отличных от моих параметров.

Первый способ. Мгновенный редирект на заданную страницу.

Данный способ крайне просто в применении. В данном способе используем директиву deny_info, синтаксис ее выглядит так:

  • deny_info http://… acl — с указанием внешнего сайта для редиректа.
  • deny_info err_access_denied acl — в указанием информационных страниц Squid

 

Пример использования:

У нас задан acl к файлу со списком запрещенных сайтов

И после правила блокирования сайтов из данного списка, задаем правило перенаправления на нужную нам страницу

Сохраняем конфигурацию и перезапускаем Squid

Теперь если пользователь попытается зайти на заблокированный сайт, то он сразу будет перенаправлен на сайт yandex.ru

 

Второй способ. Отображением страницы  ERR_ACCESS_DENIED и последующим редиректом на заданную страницу.

Данный способ отличается от первого тем что, пользователь сперва видит страницу err_access_denied и через несколько секунд перенаправляется на заданную нами страницу. Здесь мы не будем использовать директиву deny_info, а пропишем параметры редиректа в самой странице err_access_denied.

 

Все страницы заготовки Squid находятся тут /usr/share/squid/errors/Russian-koi8-r. Отредактируем страницу ERR_ACCESS_DENIED

Нас интересует параметр <meta> в секции <head></head>, находим строчку:

Приводим к такому виду:

Пояснения:

 

Сохраняем и проверяем работу. Теперь если пользователь попытается зайти на заблокированный сайт, то он сразу увидит страницу err_access_denied (оповещение что данный сайт в списке блокировки) и через 5 секунд будет перенаправлен на сайт yandex.ru.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 4,00 из 5)
Загрузка...

Оставить ответ

20 − 3 =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика