Trên các phiên bản HAProxy chạy trên K8S, tôi cần chặn một số địa chỉ IP nhất định theo cách thủ công trên HAProxy. Hiện tại tôi đã thất bại trong việc đăng nhập chúng. Theo tài liệu AWS, bộ cân bằng tải đặt X-Forwarded-For
tiêu đề yêu cầu và điền vào địa chỉ IP của khách hàng.
Khi cố gắng đăng nhập tiêu đề này (và do đó là IP của máy khách), tôi luôn nhận được các chuỗi trống với HAProxy phiên bản 2.0.18 và 2.2.20. Vì vậy, tôi đoán, tôi đã định cấu hình sai HAProxy. cấu hình của tôi trông giống như:
toàn cầu
yêu tinh
maxconn 256
log định dạng thiết bị xuất chuẩn thô local0
mặc định
chế độ http
tùy chọn httplog
tùy chọn donlognull
thời gian chờ kết nối 15000ms
máy khách hết thời gian 150000ms
máy chủ hết thời gian 150000ms
danh sách người dùng global_auth
người dùng someuser mật khẩu không an toàn somepass
giao diện người dùng http-in
ràng buộc *:80
liên kết *:443 ssl crt /etc/certs/myapp-de.pem/cert_bundle_key.pem alpn h2,http/1.1
tùy chọn httplog
tùy chọn donlognull
tiêu đề yêu cầu chụp X-Forwarded-For len 500
chụp tiêu đề yêu cầu x-forwarded-for len 500
định dạng nhật ký "Tiêu đề = --%hr--, --%hrl-- | Tiêu đề2: --%[capture.req.hdr(0)]--, --%[capture.req.hdr(1) ]--"
đăng nhập toàn cầu
acl host_ssl_Exception hdr(host) -i jobs.myapp.com
sơ đồ chuyển hướng https mã 301 nếu !{ ssl_fc } !host_ssl_Exceptionion
phương thức acl is_post POST|TÙY CHỌN
phương thức acl is_get NHẬN
default_backend myapp-web
phụ trợ myapp-web
chế độ http
thuật toán nén gzip
kiểu nén văn bản/văn bản html/văn bản thuần túy/ứng dụng css/ứng dụng javascript/json
máy chủ web1 myapp-web.myapp-${TRACK}.svc.cluster.local:80 maxconn 32 kiểm tra cookie
Tất cả, trừ một phụ trợ bị loại bỏ. Đã bật HTTPS và HTTP2. Các chiếm lấy
dường như thất bại, nhưng hiện tại tôi không hiểu tại sao.