给定我没有相同IP卡的多个IP的情况下,如何通过Java中的特定IP卡发送请求

时间:2019-02-21 07:25:13

标签: java networking digital-ocean

我正在使用数字海洋小滴,其顶部带有一个浮动ip(fip)。

锚IP是小滴用来与浮动ip通信的ip

我的Droplet上的“ ip addr”命令为以太网网卡返回2 ips,其中一个为其公共ip(称为ip1),第二为其锚点ip(ip2)

当我遇到卷曲请求时,说“ curl clientIp” 客户端会将我的ip检测为ip1(公共ip),但是当我点击命中时, 带有“ curl --interface ip2 clientIp”的命令,客户端检测到的IP是浮动ip(fip)

我的想法是我将浮动IP给我的客户端,以便他们可以将其列入白名单,并且我可以根据需要删除或添加下面的小滴。我想使用Java代码来实现相同的curl行为,但不能。

我尝试过:

RequestConfig config = RequestConfig.custom().setLocalAddress(InetAddress.getByAddress(ip2)).build();

javax.ws.rs.client.ClientBuilder newBuilder = ClientBuilder.newBuilder()
                .property(ApacheClientProperties.REQUEST_CONFIG, config);

WebTarget webTarget = newBuilder.build().target(clientUrl);

我使用上面的代码访问了我的客户端网址,他检测到公共ip(ip1)而不是浮动ip(fip)。

任何帮助将不胜感激。预先感谢。

0 个答案:

没有答案