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

11.20 Отладка Squid

Если вы уверены, что нашли нефатальный (типа некорректной обработки HTTP), пожалуйста пошлите нам кусок вашего cache.log с отладочной информацией, которая описывает проблему. Файл cache.log может быть очень большим, поэтому вы можете скопировать его на FTP или HTTP-сервер, откуда мы сможем его загрузить.

Достаточно просто включить полную отладку для запущенного процесса Squid. Просто используйте ключ -k debug в строке запуска:

% ./squid -k debug

При этом каждый объявленны debug() в исходном коде будет заноситьь строку в файл cache.log. Вы также можете использовать ту же команду, чтобы вернуть Squid в нормальный режим работы.

Чтобы включить выборочную отладку (т.е. только для одного файла из исходных текстов), вам необходимо отредактировать файл squid.conf и добавить опцию debug_options. Каждый исходник Squid привязан к определенной отладочной секции. Секцию отладки, к которой относится данный файл, вы можете найти прямо в начале этого, или почитав файл doc/debug-levels.txt (для Squid-2 он переименован в debug-sections.txt for Squid-2). Вы также указываете уровень отладки, чтобы проконтролировать кол-во отладочной информации. Более высокий уровень дает большее кол-во отладочной информации. К примеру, чтобы включить полную отладку для секции Access Control, вам необходимо указать:

debug_options ALL,1 28,9

Теперь вам необходимо перезапустить Squid или сделать ему reconfigure.

Если вы видите отладочную информацию в вашем cache.log, можете самостоятельно попытаться определить, что стало причиной наблюдаемого вами поведения . Если не получается, то свободно посылайте отладочную информацию в список рассылки squid-users или squid-bugs.

11.21 Fatal: ipcache_init: dns name lookup tests failed

Squid обычно тестирует конфигурацию DNS вашей системы перед тем как начать принимать запросы. Squid пытается отрезолвить несколько имен DNS, которые указаны в директивеdns_testnames файла конфигурации. Если Squid не может отрезолвить эти имена, это может означать что:

  1. ваш сервер имен DNS недоступен или не запущен.

  2. ваш /etc/resolv.conf возможно содержит некорректную информацию.

  3. на ваш /etc/resolv.conf указаны неверные права и он недоступен для Squid.

Чтобы выключить тест, используйте ключ -D в строке запуска.

Заметьте, что Squid НЕ использует dnsservers для теста DNS. Тест выполняяется внутренним процессом до запуска dnsservers.

11.22 Fatal: Failed to make swap directory /var/spool/cache: (13) Permission denied

Начиная с версии 1.1.15, мы требуем, чтобы вы прежде всего сделали

squid -z

чтобы создать swap-директории на вашей файловой системе. Если вы установили опцию cache_effective_user, то процесс Squid получает заданный userid перед тем, как создавать директории. Если директория cache_dir (к примеру /var/spool/cache) не сущестует и Squid userid не имеет прав, чтобы создать ее, то вы получите сообщение ``permission denied''(доступ запрещен). Это может быть очень просто исправлено - создайте директорию кеша вручную.

# mkdir /var/spool/cache

# chown <userid> <groupid> /var/spool/cache

# squid -z

Другой вариант, когда директория существует и ваша ОС может вернуть ``Permission Denied'' взамен ``File Exists'' при системном вызове mkdir(). Этот patch от Miquel van Smoorenburg должен исправить эту ошибку.

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