Squid retry_on_error: รหัสสถานะและเส้นทางทางเลือก
ใช้ Squid retry_on_error ภายในขอบเขตสถานะและปลายทางทางเลือกที่เอกสารระบุไว้ แทนที่จะถือว่าเป็นการตั้งค่าการส่งคำขอซ้ำแบบสากล
มีตัวเลือกใน Squid ชื่อ retry_on_error แต่ชื่อกว้างกว่าการตีความที่มีประโยชน์ ไม่ได้หมายความว่าทุกคำขอที่ล้มเหลวจะถูกทำซ้ำไม่สิ้นสุดจนกว่าเพจจะทำงาน
ในเวอร์ชันที่รองรับคำสั่งนี้ ค่าเริ่มต้นคือปิดอยู่ รายการทำซ้ำที่เอกสารระบุคือ 403, 500, 501, 502, 503 และ 504 และคำขอจะถูกลองผ่านปลายทางอื่นที่ทำงานได้ สิ่งนี้สำคัญโดยเฉพาะในลำดับชั้นที่มีเส้นทางส่งต่อทางเลือก ไม่ใช่เพียงการลองซ้ำตามเวลาของซ็อกเก็ตเดิมไปยังเซิร์ฟเวอร์เดิม
ตั้งชื่อความล้มเหลวก่อน
การปฏิเสธขณะเชื่อมต่อพร็อกซี การยืนยันตัวตนพร็อกซีล้มเหลว ข้อผิดพลาด HTTP จากต้นทาง และการตอบกลับที่ถูกตัดขาดหลังจากเริ่มส่งมอบ ไม่ได้ให้โอกาสลองซ้ำแบบเดียวกัน อย่าคาดหวังว่าการตั้งค่าเดียวจะจัดการทั้งสี่อย่างเหมือนกัน
สำหรับทางออกส่วนตัว ให้ตัดสินใจด้วยว่าเส้นทางทางเลือกเป็นที่ยอมรับได้หรือไม่ พาเรนต์อื่นอาจมีที่อยู่ต้นทางสาธารณะ นโยบายการยืนยันตัวตน หรือตำแหน่งเครือข่ายที่ต่างกัน ความสำเร็จผ่านทางเลือกนั้นอาจละเมิดเหตุผลที่เลือกพาเรนต์แรก
การดำเนินการของแอปพลิเคชันนำมาซึ่งข้อกังวลอีกประการ: การทำคำขอซ้ำอาจทำให้ผลกระทบซ้ำด้วย ไคลเอนต์และเซิร์ฟเวอร์ต้องการความหมายของการลองซ้ำที่เหมาะสม โดยเฉพาะการดำเนินการที่สร้างหรือเปลี่ยนข้อมูล การตั้งค่าพร็อกซีไม่ใช่สิ่งทดแทนการจัดการผลลัพธ์ที่ไม่แน่นอนในระดับแอปพลิเคชัน
อ่านคำสั่งสำหรับเวอร์ชันที่แน่นอนของคุณ เอกสารอ้างอิงแสดงความพร้อมใช้งานและพฤติกรรมเริ่มต้น ควรคำนึงถึง กำหนดเวลาของคำขอและเวลารอทั้งหมดที่ผู้ใช้เห็น ด้วย ความพยายามส่งต่อเพิ่มเติมอาจใช้เวลาที่เหลือโดยไม่ให้ผลลัพธ์ที่ดีกว่า
เมื่อตรวจสอบความล้มเหลวเป็นครั้งคราว ให้บันทึกสถานะ พาเรนต์หรือปลายทางที่เลือก และลำดับความพยายาม มิฉะนั้นการลองซ้ำอาจทำให้ปัญหาการกำหนดเส้นทางที่เกิดซ้ำดูเหมือนเว็บไซต์ที่ช้าโดยทั่วไป พร้อมกับซ่อนเส้นทางที่ล้มเหลวจริง