Một kết nối broker Artemis thành công với mật khẩu SOCKS sai có thể đã bỏ qua trình xử lý proxy. Hãy kiểm tra đích của broker, không chỉ socksHost.

Tài liệu transport mô tả các địa chỉ broker loopback như localhost và 127.0.0.1 là những địa chỉ bỏ qua cấu hình SOCKS. Đối với đường phân giải cục bộ thông thường, hãy dùng địa chỉ broker không loopback dự định khi kết nối phải đi qua trung gian. Một alias khác vẫn phân giải thành loopback cũng có thể cho kết quả tương tự.

Kiểm tra điều kiện chính xác của phiên bản connector

Mã nguồn connector upstream mới hơn có ngoại lệ remote-DNS rõ ràng. Điều kiện của trình xử lý proxy là:

socksEnabled && (socksRemoteDNS || !isTargetLocalHost())

Khi socksRemoteDNS được bật trong một triển khai có điều kiện đó, connector để đích chưa được phân giải và cài đặt trình xử lý SOCKS ngay cả với đích trông giống loopback. Với giá trị mặc định false đã được ghi lại, bài kiểm tra địa chỉ cục bộ vẫn quan trọng.

Điều đó thay đổi ý nghĩa của một hostname như localhost: khi được chuyển cho máy chủ SOCKS để phân giải, nó đề cập đến góc nhìn đích của proxy. Hãy xác nhận đây là vị trí broker dự định trước khi chọn phân giải từ xa.

Khớp hành vi với ứng dụng khách Artemis đã cài đặt. Khi trình xử lý thực sự nằm trong tuyến, hãy phân biệt xác thực SOCKS với xác thực broker và kiểm tra đường kết nối thu được thay vì coi phiên broker thành công là bằng chứng đã dùng thông tin proxy.

Bài viết liên quan