Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.45 Mб
Скачать

4.19 Могу ли я заставить Squid ходить напрямую на некоторые сайты?

Конечно, используйте список доступа в директиве always_direct.

К примеру, если вы хотите чтобы Squid соединялся напрямую с сервером hotmail.com, укажите такие строки в вашем файле конфигурации:

acl hotmail dstdomain .hotmail.com

always_direct allow hotmail

4.20 Могу ли я заставить Squid ходить напрямую на некоторые сайты?

Конечно, есть несколько способов сделать это.

acl all src 0/0

no_cache deny all

В Squid-2.4 и более поздних серсиях вы можете использовать модуль хранения ``null'':

cache_dir null /null

4.21 Могу ли я предотвратить закачку больших файлов пользователями?

Вы можете установить глобальный праметр reply_body_max_size. Эта опция контролирует размер наибольшего тела HTTP-сообщения, которое будет послано кешем клиенту за один раз.

Если HTTP-ответ, пришедший от сервера содержит загловок Content-length, то Squid сравнивает значение content-length и значение reply_body_max_size. Если content-length больше, то соединение с сервером закрывается и клиент получает сообщение о ошибке от Squid-а.

Некоторые ответы не имеют заголовка Content-length. В этом случае Squid подсчитывает сколько байт отдано клиенту. Как только лимит достигнут, клиентское соединение закрывается.

Заметьте, что ``креативные'' агенты смогут загружать большие файлы через кеш, используя HTTP/1.1 range requests.

5. Взаимодействие между броузерами и Squid-ом

Большинство теперешних web-броузеров поддерживают работу через прокси и очень просто настраиваются для использования сервера Squid в качестве прокси. Some browsers support advanced features such as lists of domains or URL patterns that shouldn't be fetched through the proxy, or JavaScript automatic proxy configuration.

5.1 Ручная настройка Netscape

Выберите пункт Network Preferences из меню Options. На вкладке Proxies щелкните по переключателю Manual Proxy Configuration, затем по кнопке View. Для каждого из поддерживаемых Squid-ом протокола (по умолчанию это HTTP, FTP и gopher) укажите имя хоста Squid-сервера или его IP-адрес, также укажите номер HTTP порта для вашего сервера Squid (по умолчанию - 3128) в поле Port. Для других протоколов, которые Squid не поддерживает, оставьту поля пустыми.

Гланьте screen shot окна ручной настройки прокси для Netscape Navigator.

5.2 Автоматическая настройка Netscape

Настройка прокси в Netscape Navigator может быть автоматизирована при помощи JavaScript (для версий Navigator 2.0 и выше). Выберите пункт Network Preferences из меню Options. На вкладкеProxies щелкните по переключателю Automatic Proxy Configuration, затем внесите URL для вашего JavaScript-а настройки прокси в текстовое поле. Поле достаточно мало, но текст будет подвигаться по мере того как вы достигаете правой границы.

Гляньте screen shot окна автоматической настройки прокси для Netscape Navigator.

Вы можете также прокононсультироваться с документацией по Navigator от Netscape для JavaScript-а настройки прокси

Ниже приведен простой автоконфигурационный JavaScript от Oskar Pearson:

//We (www.is.co.za) run a central cache for our customers that they

//access through a firewall - thus if they want to connect to their intranet

//system (or anything in their domain at all) they have to connect

//directly - hence all the "fiddling" to see if they are trying to connect

//to their local domain.

//Replace each occurrence of company.com with your domain name

//and if you have some kind of intranet system, make sure

//that you put it's name in place of "internal" below.

//We also assume that your cache is called "cache.company.com", and

//that it runs on port 8080. Change it down at the bottom.

//(C) Oskar Pearson and the Internet Solution (http://www.is.co.za)

function FindProxyForURL(url, host)

{

//If they have only specified a hostname, go directly.

if (isPlainHostName(host))

return "DIRECT";

//These connect directly if the machine they are trying to

//connect to starts with "intranet" - ie http://intranet

//Connect directly if it is intranet.*

//If you have another machine that you want them to

//access directly, replace "internal*" with that

//machine's name

if (shExpMatch( host, "intranet*")||

shExpMatch(host, "internal*"))

return "DIRECT";

//Connect directly to our domains (NB for Important News)

if (dnsDomainIs( host,"company.com")||

//If you have another domain that you wish to connect to

//directly, put it in here

dnsDomainIs(host,"sistercompany.com"))

return "DIRECT";

//So the error message "no such host" will appear through the

//normal Netscape box - less support queries :)

if (!isResolvable(host))

return "DIRECT";

//We only cache http, ftp and gopher

if (url.substring(0, 5) == "http:" ||

url.substring(0, 4) == "ftp:"||

url.substring(0, 7) == "gopher:")

//Change the ":8080" to the port that your cache

//runs on, and "cache.company.com" to the machine that

//you run the cache on

return "PROXY cache.company.com:8080; DIRECT";

//We don't cache WAIS

if (url.substring(0, 5) == "wais:")

return "DIRECT";

else

return "DIRECT";

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]