Để chặn tất cả các địa chỉ IP truy cập vào dịch vụ redisInsight trừ một vài địa chỉ IP cụ thể, bạn có thể sử dụng ACLs (Access Control Lists) trong cấu hình HAProxy của bạn. Dưới đây là cách bạn có thể thực hiện điều đó:
Đầu tiên, bạn cần định nghĩa một ACL cho các địa chỉ IP bạn muốn cho phép truy cập vào dịch vụ. Ví dụ, bạn muốn cho phép truy cập từ địa chỉ IP 192.168.1.100 và 192.168.1.101:
acl allowed_ips src 192.168.1.100 192.168.1.101
Tiếp theo, bạn cần sử dụng ACL này trong cấu hình frontend để chỉ cho phép truy cập từ các địa chỉ IP này. Chặn tất cả các truy cập khác bằng một luật ACL nữa:
frontend redisInsight
bind *:8001
mode tcp
option tcplog
default_backend redisInsight
# ACL cho phép truy cập từ các địa chỉ IP cụ thể
acl allowed_ips src 192.168.1.100 192.168.1.101
# Chặn tất cả các truy cập không thuộc danh sách ACL trên
tcp-request content reject unless allowed_ips
backend redisInsight
mode tcp
balance roundrobin
server kube-node-1 192.168.102.128:32207 check
server kube-node-2 192.168.102.243:32207 check
server kube-node-3 192.168.102.152:32207 check
Với cấu hình trên, HAProxy sẽ chỉ cho phép truy cập từ các địa chỉ IP được liệt kê trong danh sách ACL “allowed_ips”. Các truy cập từ các địa chỉ IP khác sẽ bị từ chối.
Hãy cẩn thận khi cấu hình ACL này để đảm bảo rằng bạn không chặn truy cập từ các địa chỉ IP quan trọng.