Hai dòng cache_peer không có nghĩa là “đi qua proxy thứ nhất trước, rồi đến proxy thứ hai”. Chúng định nghĩa các peer mà Squid có thể chọn. Các yêu cầu round-robin có thể luân phiên giữa các proxy cha mà không bao giờ đi qua cả hai.

Tuyến nối tiếp được phân bổ trên các thực thể:

client → A → B → C → origin
  • A chọn B làm chặng kế tiếp của nó.
  • B chọn C.
  • C mở kết nối đến nguồn gốc.

Mỗi bên nhận phải cấp quyền cho peer ngay phía dưới của nó. Mỗi thực thể cũng cần một chính sách truy cập trực tiếp tương thích nếu việc bỏ qua chặng kế tiếp của nó bị cấm.

Trên các phiên bản hỗ trợ chúng, cache_peer định nghĩa một peer, cache_peer_access giới hạn việc chọn và never_direct cấm chuyển tiếp trực tiếp cho lưu lượng đã chọn. Chỉ riêng định nghĩa peer không thiết lập bất kỳ chính sách nào trong hai chính sách còn lại.

Xác minh quyết định tại mỗi chặng. Nhật ký của A chọn B không thể chứng minh rằng B đã chọn C. Một lần trúng bộ nhớ đệm cục bộ có thể tránh hoàn toàn kết nối thượng nguồn mới, vì vậy việc không có lưu lượng proxy cha cho một yêu cầu không phải là bằng chứng đủ về một chuỗi bị đứt.

Bài viết liên quan