Jetty Transparent Proxy - добавить информацию о пользователе

Я успешно создал прозрачный прокси, используя Jetty 9 со следующим кодом сервлета:

public class ProxyRewriteServlet extends ProxyServlet.Transparent {
   private static final String HOST = "192.168.1.20" // 'hidden' server
   private static final int PORT = 28000 // the port the server is listening to

   @Override
   protected URI rewriteURI(HttpServletRequest request) {
       URIBuilder builder = new URIBuilder()
        .setScheme("http").setHost(HOST).setPort(PORT)
        .setPath(request.getRequestURI());

      return builder.build();
   }

Прокси-сервер пересылается на известный сервер (192.168.1.20), который требует базовой аутентификации. Прямой доступ к серверу с адресом http://admin:password@192.168.1.20/path работает. Доступ через прокси http://admin:password@proxy.from.above/path работает так же.

Тем не менее, доступ к более http://proxy.from.above/path не работает из-за аутентификации. Поэтому я дополняю rewriteURI() со следующим:

builder.setUserInfo("admin", "password"); 

К сожалению, это не имеет никакого эффекта, и сервер просит браузер ввести учетные данные.

Есть ли правильный способ ввести информацию о пользователе на прокси? Или они обязательно должны прийти от клиента?

0 ответов

Другие вопросы по тегам