Připojení k brokeru Artemis, které uspěje s nesprávným heslem SOCKS, mohlo přeskočit proxy handler. Zkontrolujte cíl brokera, ne jen socksHost.

Dokumentace transportu popisuje loopback adresy brokeru, jako jsou localhost a 127.0.0.1, jako adresy, které obcházejí konfiguraci SOCKS. Pro běžnou cestu lokálního překladu použijte zamýšlenou ne-loopback adresu brokeru, když spojení musí procházet přes prostředníka. Jiný alias, který se stále překládá na loopback, může mít stejný výsledek.

Zkontrolujte přesnou podmínku verze konektoru

Novější upstream zdrojový kód konektoru obsahuje výslovnou výjimku remote-DNS. Podmínka proxy handleru je:

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

Když je socksRemoteDNS povoleno v implementaci obsahující tuto podmínku, konektor ponechá cíl nepřeložený a nainstaluje SOCKS handler i pro cíl, který vypadá jako loopback. S dokumentovanou výchozí hodnotou false zůstává test lokální adresy důležitý.

To mění význam názvu hostitele, jako je localhost: když se předá serveru SOCKS k překladu, odkazuje na pohled proxy na cíl. Před volbou vzdáleného překladu ověřte, že jde o zamýšlené umístění brokeru.

Sladěte chování s nainstalovaným klientem Artemis. Jakmile je handler skutečně v trase, rozlišujte autentizaci SOCKS od autentizace brokeru a ověřte výslednou cestu spojení, místo abyste úspěšnou relaci s brokerem považovali za důkaz použití proxy přihlašovacích údajů.

Související články