Продаются котята породы Девон-рекс. Родители - чемпионы данной породы.
Переход к предыдущей публикации Поддержка шифрования SSL в Apache (HTTPs) Установка eAccelerator для работы с PHP5 [FreeBSD 6.3 & Apache 1.3] Переход к следущей публикации
 
Я хочу добавить Daemony`s Live RSS ленту в Google Reader Я хочу добавить Daemony`s Live RSS ленту в Яндекс.Лента Я хочу получать RSS ленту Daemony`s Live Blog по электронной почте Я хочу добавить Daemony`s Live RSS ленту в My Yahoo Я хочу добавить Daemony`s Live RSS ленту в My MSN
Полиграфия и типография, услуги , брошюры

 

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

Apache веб сервер в качестве прокси сервера [mod_proxy]

 
 

Обсудить эту тему на форуме.

Apache в качестве проки сервера | apache, apache freebsd, apachectl, FreeBSD, httpd, httpd.conf, proxy, unix, прокси сервер, mod_proxy, программы для unixВ предыдущих статьях приводился пример настройки и использования Apache в качестве веб сервера. Почитать об этом можно здесь и здесь. Однако Apache также можно использовать нестандартным для него способом - в качестве простого прокси сервера. Функцию прокси в Apache подключает модуль mod_proxy. Настройка занимает всего несколько минут и несколько строк в конфигурационном файле httpd.conf. В принципе, на мой взгляд Apache - это не самый удачный способ организовать прокси для большого числа клиентов, но раз в Apache такая возможность ей, рассмотрим ее.

Первым делом следует помнить о безопасности. В сети Интернет достаточно много открытых прокси серверов, отчасти образовавшихся от того, что кто-то установил какое-либо программное обеспечение и неправильно его настроил. Чем чревато наличие открытого (неавторитативного) прокси в своей сети, думаю, пояснять не стоит.

Для того, чтобы Apache смог начать обрабатывать прокси запросы, нам следует в конфигурационный файл /usr/local/etc/apache/httpd.conf включить поддержку модуля mod_proxy. Проверьте, на всякий случай, что у Вас в httpd.conf присутствуют строчки: - в секции LoadModule

 LoadModule proxy_module       libexec/apache/libproxy.so

и в секции AddModule

 AddModule mod_proxy.c

По-умолчанию, этот модуль подключается со всеми остальными. Кстати, об этом, точнее о потенциальной опасности при использовании этого модуля, предупреждает программа установки Apache, после инсталяции его из портов:

===> SECURITY REPORT:
      This port has installed the following files which
      may act as network servers and may therefore
      pose a remote security risk to the system.
/usr/local/libexec/apache/libproxy.so

Далее, (у меня перед описанием виртуальных хостов) следует прописать директивы для работы прокси сервера.

### Enable Proxy via Apache web server ###

 ProxyRequests On
 ProxyVia On

 <Directory proxy:*>
  Order Deny,Allow
  Deny from all
  Allow from 192.168.0.0/24
 </Directory>

 CacheRoot "/usr/local/www/proxy"
 CacheSize 10240
 CacheGcInterval 4
 CacheMaxExpire 24
 CacheLastModifiedFactor 0.1
 CacheDefaultExpire 1
 CacheDirLevels 3
 CacheDirLength 1
 NoCache providers.net mp3site.com videoarchive.net

##############################

После добавления этих строк перезапускаем Apache через apachectl restart. Пропишите в своем браузере в качестве прокси IP адрес Вашего сервера, порт 80 и попробуйте запросить какой-либо узел. После первого же запроса, в каталоге /usr/local/www/proxy появится дерево каталогов-подкаталогов в стиле squid. В этих каталогах будет храниться кеш прокси сервера. Касательно директив:

  • ProxyRequests - разрешает (On) или запрещает (Off) обработку прокси запросов.
  • ProxyVia - устанавливает режим передачи HTTP заголовков. При значении On - прокси сервер будет перенаправлять все заголовки браузера клиента к запрашиваемому узлу. Возможны также значения Off, Full и Block. Full добавляет в заголовок версию прокси сервера, а вот Block удаляет все исходящие заголовки Via. С таким значением можно настроить анонимный прокси сервер.
  • Контейнер Directory proxy:* описывает права доступа к прокси серверу. Все настройки доступа в нем по аналогии с остальными в файле httpd.conf. Вышеуказанный пример запрещает в первую очередь доступ к прокси для всех, а потом разрешает его для сети 192.168.0.0/24. Внимание! Если не уверены в том, что пишите здесь, лучше прежде почитайте документацию, иначе ошибка в правилах доступа может обернуться для Вас "дырявым" прокси!
  • CacheRoot - прописывает путь корневого каталога кеша прокси сервера. В нем будут автоматически созданы все необходимые каталоги. Без указания этой директивы функция прокси сервера работать не будет.
  • CacheSize - максимально допустимый размер кеша в килобайтах. В вышеприведенном примере кеш равен 10 MB.
  • CacheGcInterval - определяет промежуток времени через который прокси сервер будет проверять свой кеш и удалять файлы, если размер кеша превышает CacheSize. Поддерживаются значения с "плавающей" точкой. Тоесть можно указать значение 0.5 - для проверки кеша каждые полчаса.
  • CacheMaxExpire - указывает время "жизни" в часах, для каждого HTTP документа, который был закеширован. Через это время документ будет удален.
  • CacheLastModifiedFactor. Если узел, с которого запрашивается документ, не отдает время истечения срока жизни документа (Expiry period), то этот срок будет установлен по следущей формуле: [Истечение срока жизни = Время с момента последнего изменения * CacheLastModifiedFactor]. Если документ был изменен 10 часов назад, а CacheLastModifiedFactor равен 0.1 то срок жизни документа в кеше истечет через 10 * 0.1 = 1 час.
  • CacheDefaultExpire установит значение времени истечения срока жизни документа (expiry time) в часах, если документ был получен по протоколу, который не поддерживает передачу этого заголовка.
  • CacheDirLevels - установит значение уровней каталогов кеша прокси сервера.
  • CacheDirLength - устанавливает количество символов в названии каталогов кеша.
  • NoCache - указывает на доменные имена, с которых запрошенные документы не будут кешированы.

Вот и все настройки. Все достаточно просто. В чем-то не хватает дополнительной функциональности, вроде ограничения на размер кешируемого файла, но это уже как говорится "на вкус и цвет".

Все логи доступа через прокси Apache будет писать в свой лог (Custom) по умолчанию, прописанный как основной лог файл доступа. У меня это /var/log/apache/httpd-access.log. Ошибки сервер будет записывать в /var/log/apache/httpd-error.log. Как переназначить лог файл (чтобы прокси запросы не смешивались в логах с запросами к основному web серверу) я не знаю, не нашел. Возможно, mod_proxy этого не поддерживает.

Более подробную информацию можно получить на странице модуля mod_proxy.

 

Ключевые слова


| | | | | | | | | |
 

Публикации по теме

авто игротека на Территории Авто
Воскресенье, 24 февраля, 2008 22:20:52 EET

Подпишись на RSS ленту и будь в курсе обновлений

Я хочу добавить Daemony`s Live RSS ленту в Google Reader Я хочу добавить Daemony`s Live RSS ленту в Яндекс.Лента Я хочу получать RSS ленту Daemony`s Live Blog по электронной почте Я хочу добавить Daemony`s Live RSS ленту в My Yahoo Я хочу добавить Daemony`s Live RSS ленту в My MSN

Компания ЮГСВ - продажа К 63 Ассортимент в наличии шнурки для бейджей на складе в Спб
Я хочу подписаться на Daemony`s Live RSS ленту комментариев к записям

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

Быстрая вставка HTML тегов

Подсказки:
  • Для вставки фрагментов кода используйте "быстрый" тег <PRE></PRE>.
  • Для цитирования фрагментов текста используйте "Цитата".
  • Поддерживаются также другие HTML теги.

Поля, помеченные красной "звездочкой" обязательны к заполнению.