Undertow: Как контролировать выбор хоста, зависит от содержимого тела запроса? - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь реализовать свой собственный прокси, как это:

LoadBalancingProxyClient loadBalancer = new LoadBalancingProxyClient()
        .addHost(new URI("http://localhost:8080"))
        .addHost(new URI("http://localhost:7777"))
        .setConnectionsPerThread(20);

Undertow reverseProxy = Undertow.builder()
        .addHttpListener(8081, "localhost")
        .setIoThreads(1)
        .setHandler(ProxyHandler.builder().setProxyClient(loadBalancer).setMaxRequestTime(30000).build())
        .build();
reverseProxy.start();

Я хочу иметь контроль над выбором прокси-сервера.Зависит от тела запроса, который я хочу выбрать localhost:8080 или localhost:7777

Возможно ли это в прокси Undertow?

PS Я готов переключиться на другой прокси, если это невозможно для undertow

1 Ответ

0 голосов
/ 19 марта 2019

Я использую Jetty org.eclipse.jetty.proxy.ProxyServlet для управления динамическим списком бэкэндов.

Вы можете выбрать переопределение целевого бэкенда: org.eclipse.jetty.proxy.AbstractProxyServlet.rewriteTarget(HttpServletRequest)

(я бы хотел использовать только Undertow)

...