Jetty ProxyServlet with SSL support

前端 未结 3 1416
一个人的身影
一个人的身影 2020-12-09 22:06

I am using Jetty\'s ProxyServlet as a HTTP proxy.

After I start the server and add the socks proxy in firefox I can access websites through the proxy without any pro

3条回答
  •  遥遥无期
    2020-12-09 22:37

    You can use a "ConnectHandler"

    http://grepcode.com/file/repo1.maven.org/maven2/org.eclipse.jetty/example-jetty-embedded/8.1.1.v20120215/org/eclipse/jetty/embedded/ProxyServer.java

    public class ProxyServer {
    
        public static void main(String[] args) throws Exception {
    
            Server server = new Server();
            SelectChannelConnector connector = new SelectChannelConnector();
            connector.setPort(8888);
            server.addConnector(connector);
    
            HandlerCollection handlers = new HandlerCollection();
            server.setHandler(handlers);
    
            // Setup proxy servlet
            ServletContextHandler context = new ServletContextHandler(handlers, "/", ServletContextHandler.SESSIONS);
            ServletHolder proxyServlet = new ServletHolder(ProxyServlet.class);
            proxyServlet.setInitParameter("whiteList", "google.com, www.eclipse.org, localhost");
            proxyServlet.setInitParameter("blackList", "google.com/calendar/*, www.eclipse.org/committers/");
            context.addServlet(proxyServlet, "/*");
    
            // Setup proxy handler to handle CONNECT methods
            ConnectHandler proxy = new ConnectHandler();
            proxy.setWhite(new String[]{"mail.google.com"});
            proxy.addWhite("www.google.com");
            handlers.addHandler(proxy);
    
            server.start();
    
        }
    
    }
    

提交回复
热议问题