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.