Dwie linie cache_peer nie oznaczają „najpierw przejdź przez pierwszy proxy, a potem przez drugi”. Definiują peery, które Squid może wybrać. Żądania round-robin mogą przełączać się między rodzicami, nigdy nie przechodząc przez oba.

Trasa szeregowa jest rozłożona między instancje:

client → A → B → C → origin
  • A wybiera B jako swój następny skok.
  • B wybiera C.
  • C otwiera połączenie ze źródłem.

Każdy odbiorca musi autoryzować swojego bezpośredniego peera niższego poziomu. Każda instancja potrzebuje też zgodnej polityki dostępu bezpośredniego, jeśli pomijanie jej następnego skoku jest zabronione.

W wersjach, które je obsługują, cache_peer definiuje peera, cache_peer_access ogranicza wybór, a never_direct zabrania bezpośredniego przekazywania dla wybranego ruchu. Sama definicja peera nie ustanawia żadnej z dwóch pozostałych polityk.

Sprawdzaj decyzję na każdym skoku. Dziennik A wybierającego B nie może dowieść, że B wybrał C. Trafienie w lokalny cache może całkowicie uniknąć nowego połączenia w górę, więc brak ruchu rodzica dla jednego żądania nie jest wystarczającym dowodem zerwanego łańcucha.

Powiązane artykuły