Squid trên OpenWrt: lỗi xác thực UCI trước khi khởi động
Theo dõi thông báo “validation failed” của Squid trên OpenWrt đến lớp khởi động UCI trước khi chỉnh sửa cấu hình Squid gốc.
Gói Squid của OpenWrt có thể từ chối cấu hình UCI của nó trước cả khi khởi động lệnh Squid. Vì vậy, một “validation failed” chung từ script init không đủ lý do để chỉnh sửa squid.conf.
Đọc các thông báo cấp trường phía trước và đối chiếu với quy tắc xác thực của gói đã cài. Ví dụ, phần triển khai khởi động khai báo http_port là kiểu cổng. Khoảng trắng ở cuối có thể làm hỏng kiểm tra đó dù các chữ số trông vẫn đúng. Kết quả xác thực thất bại sẽ dừng callback trước khi đăng ký lệnh.
Với một mục thực sự có tên squid, hãy kiểm tra giá trị hẹp:
uci get squid.squid.http_port
Dùng tên mục có trong bản cài đặt. Nguồn của gói thường là /etc/config/squid; nếu thiếu thông báo, hãy xác nhận tệp tồn tại và đọc được. Bản phát hành khác có thể hiển thị các trường khác.
Sau khi xác thực UCI, hãy theo tệp gốc được truyền cho Squid. Lớp bọc có thể chọn một tệp rõ ràng hoặc tạo một tệp từ các đầu vào được hỗ trợ. Chỉnh sửa một tệp không dùng đến không thể thay đổi kết quả được tạo.
Cú pháp gốc, trình trợ giúp, quyền và kiểm tra trình lắng nghe đến sau. Báo cáo “UCI đã từ chối http_port” hoặc “Squid đã từ chối cấu hình gốc đã chọn” kèm bằng chứng. Chỉ xóa cấu hình gói để dập lỗi đầu tiên có thể khiến lớp bọc không làm được việc của nó.