Artemis dapat melewati SOCKS untuk broker loopback
Periksa tujuan broker dan perilaku socksRemoteDNS saat koneksi Artemis berhasil meski kredensial SOCKS sengaja salah.
Koneksi broker Artemis yang berhasil dengan kata sandi SOCKS yang salah mungkin telah melewati penangan proxy. Periksa tujuan broker, bukan hanya socksHost.
Dokumentasi transport menjelaskan alamat broker loopback seperti localhost dan 127.0.0.1 sebagai alamat yang melewati konfigurasi SOCKS. Untuk jalur resolusi lokal normal, gunakan alamat broker non-loopback yang dimaksud saat koneksi harus melalui perantara. Alias lain yang masih melakukan resolusi ke loopback dapat memberikan hasil yang sama.
Periksa kondisi persis versi connector
Kode sumber connector upstream yang lebih baru menyertakan pengecualian remote-DNS yang eksplisit. Kondisi penangan proxy adalah:
socksEnabled && (socksRemoteDNS || !isTargetLocalHost())
Saat socksRemoteDNS diaktifkan dalam implementasi yang memuat kondisi tersebut, connector membiarkan tujuan tidak ter-resolve dan memasang penangan SOCKS bahkan untuk tujuan yang tampak seperti loopback. Dengan nilai default false yang terdokumentasi, uji alamat lokal tetap penting.
Itu mengubah makna nama host seperti localhost: saat diteruskan ke server SOCKS untuk resolusi, nama itu merujuk pada pandangan proxy tentang tujuan. Pastikan ini adalah lokasi broker yang dimaksud sebelum memilih resolusi jarak jauh.
Sesuaikan perilaku dengan klien Artemis yang terpasang. Setelah penangan benar-benar berada di rute, bedakan autentikasi SOCKS dari autentikasi broker dan verifikasi jalur koneksi yang dihasilkan alih-alih menganggap sesi broker yang berhasil sebagai bukti bahwa kredensial proxy digunakan.