Squid retry_on_error: statusni kodovi i alternativne rute
Koristite Squid retry_on_error u okviru dokumentovanog obuhvata statusa i alternativnih odredišta, umesto da ga tretirate kao univerzalno podešavanje za ponavljanje zahteva.
U Squidu postoji opcija pod nazivom retry_on_error, ali naziv je širi od njenog korisnog tumačenja. To ne znači da će svaki neuspešni zahtev biti ponavljan bez ograničenja dok stranica ne proradi.
U izdanjima koja podržavaju ovu direktivu, ona je podrazumevano isključena. Dokumentovana lista ponavljanja je 403, 500, 501, 502, 503 i 504, a zahtev se pokušava kroz drugo radno odredište. To je posebno važno u hijerarhiji sa alternativnim putevima prosleđivanja. To nije samo vremenski ograničeno ponavljanje istog socketa ka istom serveru.
Prvo imenujte kvar
Odbijanje pri povezivanju sa proxyjem, neuspešna 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 jedno podešavanje sva četiri tretirati isto.
Za privatni izlaz takođe odlučite da li je alternativni put prihvatljiv. Drugi roditelj može imati drugu javnu izvornu adresu, politiku autentifikacije ili mrežnu lokaciju. Uspeh kroz tu alternativu može narušiti razlog zbog kojeg je prvi roditelj izabran.
Operacije aplikacije donose još jednu brigu: ponavljanje zahteva može ponoviti njegov efekat. Klijent i server trebaju odgovarajuću semantiku ponavljanja, posebno za operacije koje stvaraju ili menjaju podatke. Proxy podešavanje nije zamena za rukovanje neizvesnim ishodima na nivou aplikacije.
Pročitajte direktivu za vaše tačno izdanje; referenca navodi dostupnost i podrazumevano ponašanje. Imajte na umu i rokove zahteva i ukupno korisniku vidljivo čekanje. Dodatni pokušaj prosleđivanja može potrošiti preostalo vreme bez boljeg rezultata.
Kada istražujete povremene kvarove, zabeležite status, izabranog roditelja ili odredište i redosled pokušaja. Inače ponavljanja mogu učiniti da ponavljajući problem rutiranja izgleda kao opšte spor sajt, skrivajući put koji je zaista zakazao.