от KByte(19-02-2003)
рейтинг (-5)
[ добре ]
[ зле ]
Вариант за отпечатване
----------------------------------------------
Заглавие: Често задавани въпроси за Squid (част 3)
Автор: KByte
Всички права запазени: Security-BG
----------------------------------------------
[-Продължение-]
6.3 useragent.log
Squid подържа user agent log файлът ако:
1. При ./configure сте сложили --enable-useragent-log опция, и
2. ако сте посочили useragent_logът в конфигурационният файл.
От този лог можете да намерите информация за дистрибуцията и browser`ите на вашите клиенти.
6.4 store.log
Този лог файл пази обектите който са били изтрити.
6.5 hierarchy.log
Този файл съществува само в Squid-1.0. Форматът му е:
[date] URL peerstatus peerhost
6.6 access.log
Най използваният лог файл. В момента съществуват два формата зависещи от вашата конфигурация
на emulate_httpd_log опция. По подразбиране, Squid ще го създаде в native лог файл формат.
Ако тази опция е разрешена, Squid ще го създаде в common лог формат.Common лог съдържа
информация за native логът. А native форматът съдържа информация за админа.
6.7 Кои файлове мога да изтрия със сигурност?
Никога не трябва да изтривате access.log, store.log, cache.log, или swap.state докато
Squid работи. В Linux/Unix може да триете файлове докато са отворени от някой процес.
Ако случайно изтриете swap.state докато Squid работа, може да го възстановите следвайки
инструкциите в следващият въпрос. Ако изтриете някой друг файл докато Squid работи, не
може да го възстановите. За да поддържате своите лог файлове използвайте rotate функцията
на squid. Тази функция сменя лог файловете ден за ден. Текущите файлове се затварят и
след това се преименуват.Използвайте тази команда:
squid -k rotate
6.8 Как да забраня лог файловете в Squid?
За да забраните access.log
cache_access_log /dev/null
За да забраните store.log
cache_store_log none
За да забраните cache.log
cache_log /dev/null
7.0 Оперативни въпроси
7.1 Искам да рестартирам Squid с изчистено cache
Като за начало трябва да спрете Squid с тази команда:
squid -k shutdown
Най бързият начин да рестартирате Squid с изчистено cache е да пишете върху swap.state файловете.
echo "" > /cache1/swap.state
Другият начин, който е по дълъг е да пресъздадете всички cache_dir директории. Но първо трябва да преместите всички
съществуващи директори. За пример опитайте
cd /cache1
mkdir JUNK
mv ?? swap.state* JUNK
rm -rf JUNK &
И след това:
squid -z
7.2 Как мога да изтрия пресъздадена cache директория?
Изтриването на съществуваща cache директория не е много трудно. Можете просто да смените
squid.conf и след това да го преконфигурирате. Може да спрете да използвате cache_dir докато
Squid работи.
1. Редактирайте squid.conf и изтриите cache_dir линията за cache директорията която искате
да изтриете.
2. Ако нямате cache_dir линии значи Squid използва своята начална. Ще трябва да добавите
нова cache_dir линия защото Squid ще продължи да използва старата. Може да добавите малка
директория:
/usr/local/squid/cachetmp ....
След като добавите нова директория трябва да стартирате squid -z.
3. Запомнете никога не триите cache директория на работещ Squid. Първо спрете Squid с:
squid -k shutdown
4. След като изтриете старата cache_dir от squid.conf, Squid няма да използва тази директория.
5. Сега след като Squid вече не използва старата директория може да я изтриете с rm -rf.
7.3 Мога ли да използвам Squid на повече от един HTTP порт?
Да, можете да посочите друг порт в http_port линиите в вашият squid.conf файл.
8.0 Cache Manager
8.1 Какво е cache manager?
Cache manager`ът (cachemgr.cgi) е CGI е инструмент за статистика на squid.
8.2 Как да го включа?
Това зависи от web server`а които използвате. Конфигурирайте CERN и Apache server`ите да
позвуляват използването на cachemgr.cgi.
EDITOR"S NOTE: readers are encouraged to submit instructions for configuration of cachemgr.cgi on other web server platforms, such as Netscape.
След като редактирате conf файловете, ще трябва да рестартирате web server`а. След като
конфигурирате своят web server, ще се свържате към cache managera чрез web browser,
използвайки адрес като този:
http://www.example.com/Squid/cgi-bin/cachemgr.cgi/
8.3 Конфигурация на cache manager за CERN httpd 3.0
Трябва да добавите в conf файла:
Protect /Squid/* MGR-PROT
Exec /Squid/cgi-bin/*.cgi /usr/local/squid/bin/*.cgi
8.4 Конфигурация на cache manager за Apache
Първо, направете директория cgi-bin и я опишете с ScriptAlias в вашият Apache srm.conf
файл ето така:
ScriptAlias /Squid/cgi-bin/ /usr/local/squid/cgi-bin/
cachemgr.cgi може да бъде защитен с парола. Добавете в access.conf:
AuthUserFile /path/to/password/file
AuthGroupFile /dev/null
AuthName User/Password Required
AuthType Basic
require user cachemanager
9.0 Как работи squid?
9.1 Кои са cachable обектите?
Един Internet обект е файл, документ или отзив на Интернет услуга като HTTP, FTP, или gopher.
9.2 Какъв е този ICP протокол?
ICP е протокол използван за комуникация между squid caches. ICP протоколът е определен в две Интернет RFC`та.
9.3 Каква е тази ftpget програма?
ftpget съществува единствено във версии 1.0 и 1.1. Това е програма наподобяваща ftp client.
9.4 Как Squid решава кога да презареди cache`иран обект?
Когато проверява новостта на обекта, ние пресмятаме тези стойности:
OBJ_DATE - това е времето когато обектът е бил сменен с оригиналният.
OBJ_LASTMOD - това е времето когато обектът е бил редактиран за последно.
OBJ_AGE покава колко обекта е имало когато е било възвърнато
OBJ_AGE = NOW - OBJ_DATE
LM_AGE - колко е бил стар обектът преди да бъде възвърнат
LM_AGE = OBJ_DATE - OBJ_LASTMOD
LM_FACTO е пропорционално на OBJ_AGE към LM_AGE:
LM_FACTOR = OBJ_AGE / LM_AGE
Squid-1.1 и Squid-1.NOVM алгоритъм:
if (CLIENT_MAX_AGE)
if (OBJ_AGE > CLIENT_MAX_AGE)
return STALE
if (OBJ_AGE
return FRESH
if (EXPIRES) {
if (EXPIRES
return STALE
else
return FRESH
}
if (OBJ_AGE > CONF_MAX)
return STALE
if (LM_FACTOR
return FRESH
return STALE
Kolics Bertold е направил отлична диаграма показвайки този процес.
Squid-2 алгоритъм:
if (EXPIRES) {
if (EXPIRES
return STALE
else
return FRESH
}
if (CLIENT_MAX_AGE)
if (OBJ_AGE > CLIENT_MAX_AGE)
return STALE
if (OBJ_AGE > CONF_MAX)
return STALE
if (OBJ_DATE > OBJ_LASTMOD) {
if (LM_FACTOR
return FRESH
else
return STALE
}
if (OBJ_AGE
return FRESH
return STALE
[-Очаквайте продължение-]
<< FreeBSD: Серийни комуникации | FreeBSD: Мултимедия >>
|