Ошибка squid3 с циклическим перебором 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, получаю FAIL в строке 3. Я также пытаюсь parent
вместо sibling
, Тот же провал.
К вашему сведению, если я установлю для клиентов IP-адрес Debian с портом 9001 или 9002 или 9003, все работает нормально.
Любая идея?
2 ответа
Вы должны указать опцию имени для каждого из 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
Если вы думаете, что есть лучшее решение, пожалуйста, не стесняйтесь:)