Переписать путь в мембранном перехватчике - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать мембрану в качестве простого обратного прокси.Когда я пытаюсь переписать URI, он все равно переходит к URI исходного запроса на проксируемом хосте.

public class Proxy {
    public static void main(String[] args) throws Exception {
        ServiceProxyKey key = new ServiceProxyKey(4000);

        ServiceProxy sp = new ServiceProxy(key, "localhost", 8081);
        sp.getInterceptors().add(new ProxyInterceptor());

        HttpRouter router = new HttpRouter();
        router.add(sp);
        router.init();
    }

    static class ProxyInterceptor extends AbstractInterceptor {
        @Override
        public Outcome handleRequest(Exchange exc) throws Exception {
            System.out.println(exc.getRequestURI());
            exc.getRequest().setUri("/fish");
            System.out.println(exc.getRequest().getUri());
            return Outcome.CONTINUE;
        }
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...