Назад | Перейти на главную страницу

squid3 FAIL с циклическим перебором cache_peer на 127.0.0.1 другом порту

У меня есть 3 туннеля, заканчивающиеся на Debian, на котором запущен squid3 (порты с 9001 по 9003). В начале каждого туннеля запускается прокси. Я пытаюсь сбалансировать нагрузку на эти прокси следующим образом:

http_access allow all
http_port 4128
cache_peer 127.0.0.1 sibling 9001 round-robin
cache_peer 127.0.0.1 sibling 9002 round-robin
cache_peer 127.0.0.1 sibling 9003 round-robin

Когда я перезапускаю squid3, в строке 3 появляется сообщение FAIL. Я также пытаюсь parent вместо того sibling. То же самое.

К вашему сведению, если я установил для клиентов IP-адрес debian с портом 9001, 9002 или 9003, все будет нормально.

Любая идея?

Вы должны указать название вариант для каждого из cache_peer. Цитата из cache_peer документация:

name = xxx --- Уникальное имя однорангового узла. Требуется, если у вас есть несколько одноранговых узлов на одном хосте, но на разных портах.

Так что ваши cache_peer конфигурация должна выглядеть так

cache_peer 127.0.0.1 parent 9001 0 name=A round-robin no-query no-digest
cache_peer 127.0.0.1 parent 9002 0 name=B round-robin no-query no-digest
cache_peer 127.0.0.1 parent 9003 0 name=C round-robin no-query no-digest
cache_peer 127.0.0.1 parent 9004 0 name=D round-robin no-query no-digest

Наконец-то рабочее решение!

редактировать /etc/hosts и добавить:

127.0.0.1       tunnelproxy1
127.0.0.1       tunnelproxy2
127.0.0.1       tunnelproxy3 
127.0.0.1       tunnelproxy4

Затем перейдите в /etc/squid3/squid.conf и:

http_access allow all
http_port 3128
cache_peer tunnelproxy1 parent 9001 0 round-robin no-query no-digest
cache_peer tunnelproxy2 parent 9002 0 round-robin no-query no-digest
cache_peer tunnelproxy3 parent 9003 0 round-robin no-query no-digest
cache_peer tunnelproxy4 parent 9004 0 round-robin no-query no-digest
never_direct allow all

Если вы думаете, что есть лучшее решение, пожалуйста, не стесняйтесь :)