Một quy tắc allow của Squid nghĩa là AND; hai quy tắc có thể nghĩa là OR
Đọc các tổ hợp ACL của Squid và các quy tắc truy cập có thứ tự để proxy riêng chỉ cấp đúng quyền truy cập dự kiến.
Hãy đọc to chính sách này: cho phép mạng văn phòng dùng proxy cho điểm đến đã được phê duyệt. Nếu các điều kiện đó thuộc về nhau, hãy giữ chúng cùng nhau trong quy tắc.
http_access allow office_clients approved_destination
Cả hai ACL phải khớp thì dòng đó mới cho phép yêu cầu. Tách nó ra sẽ thay đổi chính sách:
http_access allow office_clients
http_access allow approved_destination
Giờ đây máy khách văn phòng có thể được cho phép mà không có giới hạn điểm đến, và các yêu cầu tới điểm đến đó mà không có giới hạn văn phòng, trừ khi một quy tắc trước đó đã từ chối chúng. Hai dòng không phải là cách viết dễ đọc hơn của một dòng.
Thứ tự là một phần của chính sách
Squid đánh giá các quy tắc truy cập theo thứ tự. Quyết định khớp đầu tiên điều khiển yêu cầu. Một allow all trước đó vô hiệu hóa một giới hạn cẩn thận về sau; một lần từ chối khớp trước đó ngăn không cho đạt tới một lần cho phép về sau.
Tài liệu http_access giải thích thứ tự này. Hãy giữ một lần từ chối cuối có chủ đích thay vì trông chờ người đọc nhớ hành vi mặc định ngầm hiểu.
Nhiều định nghĩa ACL có quan hệ OR khác: một ACL nguồn có tên có thể liệt kê nhiều dải được phép. Điều đó không làm cho danh tính nguồn và điểm đến thành cùng một loại ACL. Hãy định nghĩa chúng riêng, rồi kết hợp tên trong một quyết định truy cập.
Với một lối ra riêng, điều này ảnh hưởng đến ai có thể dùng IP hướng ngoài của bạn. Hãy xét bốn trường hợp: máy khách được duyệt tới điểm đến được duyệt, máy khách được duyệt tới nơi khác, máy khách khác tới điểm đến được duyệt, và máy khách khác tới nơi khác. Nếu các quy tắc cho phép nhiều trường hợp hơn chính sách dự kiến, hãy sửa logic trước khi mở rộng trình lắng nghe. Một cấu hình đúng cú pháp vẫn có thể diễn đạt quyền sai.