Tôi đang cố gắng thiết lập phòng thí nghiệm cân bằng tải cho HAproxy ở chế độ một nhánh (khi IP giao diện người dùng thực tế và máy chủ phụ trợ nằm trong cùng một mạng con, trong khi máy khách thực tế luôn ở xa). Một yêu cầu khác là làm cho IP nguồn máy khách hiển thị với các nút phụ trợ. Khi chúng tôi cân bằng tải ứng dụng dựa trên tcp tùy chỉnh, có vẻ như tùy chọn 'nguồn 0.0.0.0 usersrc clientip' là một lựa chọn phù hợp ở đây. Ngoài ra, tôi đã định cấu hình các chương trình phụ trợ để có các cổng mặc định trỏ đến địa chỉ IP của HAproxy.
Mặc dù những điều kỳ lạ xảy ra khi tôi bật tùy chọn phụ trợ này: Tôi thấy kết nối với VIP giao diện người dùng đã được thực hiện đúng cách và quá trình bắt tay 3 bước được hình thành. Nhưng khi máy chủ HAproxy đang cố gắng xây dựng phiên thứ 2 để tiếp cận với các máy chủ phụ trợ có IP giả mạo của máy khách, tôi thấy chính xác điều này đang xảy ra:
- Proxy đang gửi SYN với địa chỉ IP giả mạo của Khách hàng tới một trong các chương trình phụ trợ;
- Phần phụ trợ thường được phản hồi với gói SYN-ACK;
- Proxy KHÔNG gửi ACK cuối cùng, chỉ gửi các gói SYN một cách mù quáng sau khi hết thời gian với cùng một kết quả;
- Trên proxy, tôi thấy kết nối này được đánh dấu là SYN_SENT trong đầu ra netstat, vì vậy có vẻ như máy chủ proxy không chấp nhận gói SYN-ACK thực tế vì một số lý do.
Bất kỳ lời khen ngợi sẽ được đánh giá cao.