Posielanie požiadaviek Squid cez nadradenú proxy
Prinúťte Squid 6.13 používať rodiča pre preposielané požiadavky známeho klienta a zabráňte nechcenému priamemu náhradnému spojeniu.
Deklarácia rodiča v Squid sama neznamená, že ho musí použiť každá preposielaná požiadavka. Ak by priama cesta porušila vašu politiku, nastavte požiadavku výslovne a otestujte nedostupnosť rodiča.
Tento príklad pre Squid 6.13 pomenuje jedného rodiča a zakáže priame preposielanie k pôvodu pre jeden klientsky zdroj:
cache_peer 192.0.2.20 parent 3128 0 no-query default name=upstream
acl routed_client src 198.51.100.27/32
never_direct allow routed_client
Obe adresy sú zástupné. Pre riadený upstream test, kde sú verejní HTTP rodičia povolení, vyberte adresu zo zoznamu HTTP proxy. Zachovajte samostatnú politiku http_access, ktorá povoľuje len zamýšľaných klientov. Smerovacie pravidlo nedáva klientovi oprávnenie používať proxy.
Skontrolujte existujúce smerovacie pravidlá
no-query vypína ICP otázky na tento náprotivok. Nula je jeho dopytovací port, nie HTTP poslucháč. Poslucháč pre klientov a jeho prístupové pravidlá zostávajú samostatné.
Pred pridaním bloku preverte terajšie nastavenia always_direct a ďalšie výbery náprotivkov. Odmietnutie zhody v always_direct samo osebe rodiča nevyžaduje. Výslovné pravidlo never-direct tento nárok stanoví pre vybraného klienta.
To riadi transakcie vyžadujúce preposlanie. Použiteľnú položku lokálnej cache možno obslúžiť bez kontaktu s rodičom, takže chýbajúce nové spojenie s rodičom nie je automaticky porušením smerovania.
Skontrolujte cestu a správanie pri zlyhaní
Použite riadený cieľ a porovnajte hierarchické informácie prístupového logu s pozorovaním cieľa. Samotný konečný stav HTTP nehovorí, či Squid použil rodiča alebo priamu cestu.
V údržbovom teste zneprístupnite rodiča a zopakujte rovnakú necachovanú požiadavku. Ak politika zakazuje priame preposielanie, transakcia má zlyhať, nie dosiahnuť pôvod inou cestou. Robte to len na službách pod vašou kontrolou a potom obnovte zamýšľanú konfiguráciu.