Q:
Хотел заблокировать несколько сайтов (типа facebook, myspace, etc), и сделать это через Forward Proxy в Web Service, но когда на пользовательском компе я указываю Web Proxy, блокируются вообще все сайты.
А:
Наш стандарт (если используется Mac OS X или Linux) – squid; пять минут на squid.conf, одна на ru.shortcut.squid.plist.
Тем не менее, расскажу, про прокси в Apache.
Самый популярный веб-сервер может выступить и в роли прокси-сервера.
Мало кто этим пользуется, так как прокси используют в основном для блокировки чего-то, а здесь возможности apache и squid несравнимы.
Зато такое решение не требует дополнительного программного обеспечения и позволяет запустить прокси малыми силами. Модуль прокси поддерживает http, https и ftp.
Запуск малыми силами осуществляется так:
Server Admin – Web – Settings – Proxy – галочка Enable Forward Proxy.
Вот и все, можно приступить к настраиванию клиентов.
Для того, чтобы не делать ваш прокси-сервер доступным для всего мира, поставьте галочку Control Access To Proxy и в поле укажите Allowed Domain ваш диапазон IP адресов (например, 10.10.10.1/16).
Если вы хотите заблокировать какие-то сайты, укажите их в Blocked Hosts.
Внимание – когда вы нажмете на плюси, чтобы добавить сайты, которые должны блокироваться, Server Admin услужливо подставит пример “http://www.example.com/”
Это неправильный пример! Правильная запись должна выглядеть так – “www.example.com”
Ну а “по-научному”, все это выглядит так (цитата из /etc/apache2/httpd.conf):
#
## Proxy Server directives.
#
<IfModule mod_proxy.c>
ProxyRequests On
<IfModule mod_disk_cache.c>
CacheEnable disk /
CacheRoot "/var/run/proxy"
</IfModule>
<Proxy "*">
Allow from 10.10.10.1/16
Deny from all
Order Deny,Allow
</Proxy>
ProxyBlock facebook.com <http://facebook.com/>
ProxyBlock livejournal.com <http://livejournal.com/>
</IfModule>
##
Подробнее – mod_proxy.