как отправлять запросы через ip определенной сетевой карты в java, если у меня есть несколько ips для одной сетевой карты - PullRequest
0 голосов
/ 21 февраля 2019

Я использую цифровую океаническую капельку с плавающим ip (fip) поверх него.

Anchor ip - это капля ip, используемая для связи с плавающим ip

"ip addr"Команда на моем дроплете возвращает 2 ips для сетевой карты Ethernet, один общедоступный ip (назовите его ip1) и второй ip привязки ip (ip2)

, когда я нажимаю на запрос curl, скажите, что «curl clientIp» клиент обнаружит мойip as ip1 (публичный ip), но когда я нажимаю, нажимаю ту же команду с помощью «curl --interface ip2 clientIp», ip, который обнаруживает клиент, является плавающим ip (fip)

Идея в том, что я дамплавающий ip к моему клиенту, так что они могут внести его в белый список, и я могу удалять или добавлять капли внизу, как я хочу.Я хочу реализовать такое же поведение скручивания, используя код Java, но не могу.

Я попробовал это:

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);

Я нажал на URL клиента, используя приведенный выше коди он обнаружил публичный ip (ip1), а не плавающий ip (fip).

Любая помощь будет оценена.Заранее спасибо.

...