Mehrere Squid-Parents sind Alternativen, keine serielle Kette
Eine Peer-Liste gibt Squid Auswahlmöglichkeiten. Eine serielle Route A → B → C erfordert, dass jede Weiterleitungsinstanz den nächsten Hop auswählt.
Zwei cache_peer-Zeilen bedeuten nicht „zuerst den ersten Proxy besuchen, dann den zweiten“. Sie definieren Peers, die Squid auswählen kann. Round-Robin-Anfragen können zwischen Parents wechseln, ohne jemals beide zu durchlaufen.
Eine serielle Route ist auf die Instanzen verteilt:
client → A → B → C → origin
- A wählt B als seinen nächsten Hop.
- B wählt C.
- C öffnet die Verbindung zum Origin.
Jeder Empfänger muss seinen unmittelbaren nachgelagerten Peer autorisieren. Jede Instanz benötigt außerdem eine kompatible Direktzugriffsrichtlinie, wenn das Überspringen ihres nächsten Hops verboten ist.
In Versionen, die sie unterstützen, definiert cache_peer einen Peer, cache_peer_access schränkt die Auswahl ein und never_direct verbietet die direkte Weiterleitung für ausgewählten Verkehr. Die Peer-Definition allein begründet keine der beiden anderen Richtlinien.
Überprüfen Sie die Entscheidung bei jedem Hop. Das Protokoll von A, das B auswählt, kann nicht beweisen, dass B C ausgewählt hat. Ein lokaler Cache-Treffer kann eine neue Upstream-Verbindung ganz vermeiden, daher ist fehlender Parent-Verkehr für eine Anfrage kein ausreichender Beweis für eine unterbrochene Kette.