SOCKS v5请求发送当前用户,而不是无用户



我的问题:

1) 我如何在没有身份验证的情况下使用dante作为SOCKS v5代理,将amqp消息从生产者发送到docker compose网络中的RabbitMQ?

2) 我以前从来没有用过袜子,所以我不知道我想做的是愚蠢的还是不应该起作用,是吗?

我目前正在尝试建立一个由三部分组成的网络:

  1. 代理服务器(Dante)
  2. RabbitMQ服务器
  3. 消息生产者

我想通过Dante将我的消息代理到rabbitMQ。

为了实现这一点,我为我的制作人提供了以下选项:-DsocksProxyHost=dante

我使用docker compose脚本运行应用程序,并且我可以验证我的生产者是否连接到主机dante。然而,我的生产者总是尝试连接当前用户凭据,即root(如果我更改用户,则为socksuser),忽略以下选项:-Djava.net.socks.username=socksuser -Djava.net.socks.password=sockspass

我可以用docker compose的以下输出来验证:

app_1|正在连接到代理主机:danteapp_1|用户:socksuser,密码:sockspassapp_1|dante_1|Jan 24 15:01:41(1516806101263639)sockd[7]:info:pass(1):tcp/accept[:172.19.0.4.40910 172.19.0.3.1080dante_1|Jan 24 15:01:41(1516806101265226)sockd[7]:info:block(1):tcp/accept]:172.19.0.4.40910 172.19.0.3.1080:在0秒内读取11个字节后出错:系统密码验证用户"root"失败app_1|java.net.SocketException:SOCKS:身份验证失败app_1|at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:473)

我正在使用的dante docker映像是wernight/dante,提供了默认配置,该配置表示每个人都可以使用代理。

用于SOCKS5身份验证的方法在实际身份验证之前由SOCKS5客户端和SOCKS5服务器协商确定。

因此,如果客户端正在启动身份验证,这表明服务器需要它,我会检查SOCKS5服务器配置。

相关内容

  • 没有找到相关文章

最新更新