Squid retry_on_error: statusni kodovi i alternativne rute
Koristite Squid retry_on_error u okviru dokumentovanog obuhvata statusa i alternativnih odredišta, umjesto da ga tretirate kao univerzalnu postavku za ponavljanje zahtjeva.
U Squidu postoji opcija pod nazivom retry_on_error, ali je naziv širi od njene korisne interpretacije. To ne znači da će svaki neuspjeli zahtjev biti ponavljan bez ograničenja dok stranica ne proradi.
U izdanjima koja podržavaju ovu direktivu, ona je isključena po defaultu. Dokumentovana lista ponavljanja je 403, 500, 501, 502, 503 i 504, a zahtjev se pokušava kroz drugo radno odredište. To je posebno važno u hijerarhiji s alternativnim putevima prosljeđivanja. To nije samo vremenski ograničeno ponavljanje istog socketa prema istom serveru.
Prvo imenujte kvar
Odbijanje pri povezivanju s proxyjem, neuspjela autentifikacija proxyja, HTTP greška izvora i odgovor prekinut nakon početka isporuke ne pružaju istu mogućnost ponavljanja. Ne očekujte da će jedna postavka sva četiri tretirati isto.
Za privatni izlaz također odlučite da li je alternativni put prihvatljiv. Drugi roditelj može imati drugu javnu izvornu adresu, politiku autentifikacije ili mrežnu lokaciju. Uspjeh kroz tu alternativu može narušiti razlog zbog kojeg je prvi roditelj odabran.
Operacije aplikacije donose još jednu brigu: ponavljanje zahtjeva može ponoviti njegov efekat. Klijent i server trebaju odgovarajuću semantiku ponavljanja, posebno za operacije koje stvaraju ili mijenjaju podatke. Proxy postavka nije zamjena za rukovanje neizvjesnim ishodima na nivou aplikacije.
Pročitajte direktivu za vaše tačno izdanje; referenca navodi dostupnost i zadano ponašanje. Imajte na umu i rokove zahtjeva i ukupno korisniku vidljivo čekanje. Dodatni pokušaj prosljeđivanja može potrošiti preostalo vrijeme bez boljeg rezultata.
Kada istražujete povremene kvarove, zabilježite status, odabranog roditelja ili odredište i redoslijed pokušaja. Inače ponavljanja mogu učiniti da ponavljajući problem rutiranja izgleda kao općenito spor sajt, skrivajući put koji je zaista zakazao.