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

19.9 Могу ли я сохранить мой кеш при обновлении с версии 1.1 до 2?

На данный момент мы не имеем скрипта, который бы отконвертировал содержимое вашего кеша в формат Squid-2. Если так много людей спрашивают об этом, то возможно кто-нибудь уже написал подобный скрипт.

По желанию, вы можете настроить ваш новый Squid-2, чтобы он работал со старым Squid-1.1 в режиме sibling. После нескольких дней, недель, или сколько вы там захотите ждать, остановите старый Squid. Если вы хотите принудительно поместить объекты из вашего старого кеша в новый, можете сделать что-нибудь типа:

  1. Установить Squid-2 и указать для него такое же количество дискового простарнства как и для кеша Squid-1 даже если в данный момент нет такого количеста свободного места.

  2. Указать для Squid-2 Squid-1 как родительский кеш. Вы можете включить опцию never_direct в Squid-2 для того, чтобы пропустить все запросы со Squid-2 через Squid-1.

  3. Включить PURGE method на Squid-1.

  4. Установить очень либеральные правила обновения на Squid-1, чтобы не генерировать IMS-запросы для кешированых объектов.

  5. Создать список всех URL-лов в кеше Squid-1. Можно получить из access.log, store.log и swap logs.

  6. Для каждого URL в списке сделать запрос от Squid-2 и далее немедленно послать запрос PURGE на Squid-1.

  7. В конечном итоге Squid-2 получит все объекты, а в Squid-1 не останется ничего.

19.10 Пользовательские сообщения о ошибках

Squid-2 позволяет вам менять ваши сообщения о ошибках. Дистрибутив в исходных текстах включает в себя сообщения о ошибках на разных языках. Вы можете выбрать язык при помощи опции:

--enable-err-language=lang

Также вы можете исправить шаблон сообщения о ошибке так как вам нравится. Этот список описывает теги, которые Squid будет вставлять в сообщения:

%B

URL with FTP %2f hack

%c

код ошибки Squid

%d

время в секундах с момента получения запроса

%e

errno

%E

strerror()

%f

FTP строка запроса

%F

FTP строка ответа

%g

FTP сообщение сервера

%h

имя хоста кеша

%H

имя сервера

%i

клиентский IP

%I

серверный IP

%L

содержание err_html_text конфигурационной опции

%M

метод запроса

%p

порт URL \#

%P

протокол

%R

полный HTTP-запрос

%S

подпись squid из ERR_SIGNATURE

%s

описание кеша с версией

%t

локальное время

%T

UTC

%U

URL без пароля

%u

URL без пароля, %2f добавлено в путь

%w

cachemgr email-адрес

%z

сообщение о ошибке сервера dns

19.11 Мой squid.Conf от версии 1.1 не работает!

Да, несколько конфигурационных директив были переименованы. Вот некоторые из них:

cache_host

Теперь это называется cache_peer. Старое название неточно описывало, что вы именно настраиваете, новое говорит вам, что вы настраиваете братский кеш для вашего кеша.

cache_host_domain

Переимновано в cache_peer_domain.

local_ip, local_domain

Фунциональныевозможности этих директив теперь реализованы при помощи acl. Вам необходимо использовать опции always_direct и never_direct. В новом файле squid.conf есть несколько примеров.

cache_stoplist

Эта директива также теперь использует acl. Вам необходимо использовать опцию no_cache. К примеру:

acl Uncachable url_regex cgi ?

no_cache deny Uncachable

cache_swap

Эта опция определяет размер кеша на диске. Теперь вы можете указать размер для каждой строки cache_dir.

cache_host_acl

Опция была переименована в cache_peer_access и был изменен ее синтаксис. Теперь эта опция - настоящий acl и вы должны использовать ключевые слова allow или deny. К примеру:

acl that-AS dst_as 1241

cache_peer_access thatcache.thatdomain.net allow that-AS

cache_peer_access thatcache.thatdomain.net deny all

В этом примере запросы посылаются на ваш братский кеш thatcache.thatdomain.net только для серверов из автономной системы N 1241.

units

В Squid-1.1 большое количество опций конфиуграции предполагали единицы измерения ассоцицированные с ними. К примеру, значение connect_timeout могло быть в секундах, но значение read_timeout могло быть указано в минутах . Для Squid-2 в этих директивах указываются еденицы измерения после значения и вы получите предупреждение, если этого не указать. К примеру, вы теперь должны писать:

connect_timeout 120 seconds

read_timeout 15 minutes

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