Apache как прокси сервер

Автор: Admin

Дата:2010-05-24

Не многие знают, что знаменитый WEB сервер может еще выступать и как прокси сервер. Давайте сделаем его таковым.

Настраивать будем на CentOs 5.2
Для реализации в роле прокси сервера необходим модуль mod_proxy.
Чтобы прокси сервер на Apache заработал, в конфигурационном файле необходимо разкомментировать:

<IfModule mod_proxy.c>
ProxyRequests On

После этого можно настроить браузер на Ip адрес и 80 порт нашего прокси и выходить через него в интернет.
Для включения кэширования в конфигурационном файле необходимо разкомментировать:

<IfModule mod_disk_cache.c>
CacheEnable disk /
CacheRoot "/var/cache/mod_proxy"
</IfModule>

Пойдем далее и заменим

<IfModule mod_proxy.c>
ProxyRequests On
на
<IfModule mod_proxy.c>
Listen 3128
<VirtualHost 192.168.76.128:3128>
ServerName proxy
ProxyRequests On
</VirtualHost>
Здесь мы создали виртуальный узел и порт (3128) отличный от порта Apache.

Продолжим наполнять конфигурационный файл.
При помощи директивы ProxyBlock запретим доступ к xxx.ru.
<IfModule mod_proxy.c>
Listen 3128
<VirtualHost 192.168.76.128:3128>
ServerName proxy
ProxyRequests On
ProxyBlock xxx.ru
</VirtualHost>

Расширим наш файл и поуправляем доступом к прокси.
Запретим всем использовать прокси сервер и разрешим IP адресу 192.168.XX.XX
<IfModule mod_proxy.c>
Listen 3128
<VirtualHost 192.168.76.128:3128>
ServerName proxy
ProxyRequests On
ProxyBlock xxx.ru
</VirtualHost>
<Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.XX.XX
</Proxy>
Еще одна полезная деректива.
ProxyRemote - предназначена для пересылки запросов с этого прокси сервера на другой.
ProxyRemote ftp 192.168.XX.1:8080
Здесь мы указываем пересылать все ftp запросы поступающие на наш прокси сервер на 192.168.XX.1 и порт 8080.
<IfModule mod_proxy.c>
Listen 3128
<VirtualHost 192.168.76.128:3128>
ServerName proxy
ProxyRequests On
ProxyBlock xxx.ru
ProxyRemote ftp 192.168.XX.1:8080
</VirtualHost>
<Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.XX.XX
</Proxy>

Количество просмотров: 167203

Комментарии к статье:

Автор комментария: mFrance
Дата: 2013-09-04

Добрый день, уважаемый Роман! Спасибо за хорошую статью! А не подскажете такую вещь: на выделенном сервере php-скрипты получают (file_get_contents) какую-либо страницу, имея IP-адрес выделенного сервера. Поможет ли включение Apache в качестве proxy-сервера, чтобы НЕ БРОУЗЕР - а скрипты, обращаясь с запросом к нужной странице, имели адрес не выделенного сервера, а другой (т.е. proxy-сервера)? Спасибо!

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

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2017