我正在使用数字海洋小滴,其顶部带有一个浮动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)。
任何帮助将不胜感激。预先感谢。