Ziproxy
Материал из Wiki
Данная статья является первой в цикле о том, как настроить Ziproxy в связке с BFilter для создания прокси-цепочки, благодаря которой все веб-страницы будут очищаться от рекламы и сжиматься. Соответственно получается экономия трафика. Также рекомендую не вешать все прокси в открытый доступ, а оставить за шифрованным туннелем. Как это сделать, написано в статье о STunnel.
Установка и настройка
В конфигурации Ziproxy не нуждается (сжатие изображений с помощью Ziproxy в данной статье не рассматривается, т.к. по субъективному мнению автора это является лишним). Соответственно только сборка и установка:
# cd /usr/ports/www/ziproxy # make install clean
Далее предлагается пример файла конфигурации для связки Ziproxy<=>BFilter:
## порт Ziproxy Port = 8787 ## не играет значения, если у вас 1 внешний ip-адрес Address = "127.0.0.1" ## раскомментировать, если требуется принимать запросы только от конкретного ip-адреса #OnlyFrom = "85.111.55.212" ## Установка парольного доступа. Формат файла user:password. #PasswdFile="/usr/local/etc/ziproxy/http.passwd" NextProxy="127.0.0.1" # перенаправлять запрос [[BFilter]] NextPort=8785 # порт BFilter ## заменять заголовки, требуя от сервера отдать данные в сжатом виде (экономит траффик сервера). OverrideAcceptEncoding = true ## таймаут запроса (секунды) ZiproxyTimeout = 25 ## файлы, больше этого размера (байты), не будут обработаны. лучше не менять это значение, т.к. оно является оптимальным. MaxSize = 4194304 ## файлы, размер которых меньше этого значения, вначале будут обработаны, а потом уже отправлены клиенту. рекомендую все файлы обрабатывать "на лету", т.е. во время отправки MinTextStream = 0 UseContentLength = false ## сжимать выходные данные с помощью алгоритма gzip Gzip = true ## типы данных, которые разрешено обрабатывать Compressible = { "shockwave", "msword", "msexcel", "mspowerpoint", "rtf", "postscript", "java", "javascript", "staroffice", "vnd.", "futuresplash", "asp", "class", "font", "truetype-font", "php", "cgi", "executable", "shellscript", "perl", "python", "awk", "dvi", "css", "xhtml+xml", "rss+xml", "xml", "pdf", "tar" } ## сжатие изображений лучше отключить ProcessJPG = false ProcessPNG = false ProcessGIF = false # оптимизирование текстовых данных ProcessHTML = true ProcessCSS = true ## оптимизирование html-кода ProcessHTML_CSS = true ProcessHTML_JS = false # в некоторых случаях портит код. отключаем. ProcessHTML_tags = true ProcessHTML_text = true ProcessHTML_PRE = true ProcessHTML_NoComments = true ProcessHTML_TEXTAREA = true # на текущий момент работает нестабильно, поэтому отключим ModifySuffixes = false
Это всё, что требуется для настройки Ziproxy. Далее предлагаю ознакомиться со статьёй по настройке BFilter.