请求不在Jetty Confidential端口上重定向

时间:2013-03-14 07:42:32

标签: java jetty

我是jetty的新用户并开发了一个将所有http请求重定向到ssl端口的jetty服务器。我在jetty教程中找到了机密端口的概念,但它不起作用。我正在添加代码快照plz纠正我在哪里出错。

public class ServerMain {

    public static void main(String[] args) throws Exception {

        Server server = new Server();
        SslContextFactory con = new SslContextFactory();
        con.setKeyStorePath("D:/.keystore");
        con.setKeyStorePassword("password");
        con.setTrustStore("D:/jssecacerts");
        con.setTrustStorePassword("changeit");

        SslSelectChannelConnector connector = new SslSelectChannelConnector(con);
        connector.setHost("10.10.10.10");
        connector.setPort(8443);
        connector.setMaxIdleTime(30000);

        SelectChannelConnector connector1 = new SelectChannelConnector();
        connector1.setHost("10.10.10.10");
        connector1.setPort(8080);


        //connector1.setConfidentialPort(443);
        connector1.setConfidentialPort(8443);

        server.setConnectors(new Connector[] {connector, connector1});

        QueuedThreadPool threadPool = new QueuedThreadPool();

        threadPool.setMaxThreads(24);
        threadPool.setMinThreads(12);

        server.setThreadPool(threadPool);       

        ContextHandlerCollection contexts = new ContextHandlerCollection();

        ContextHandler mycontext = new ContextHandler();
        mycontext.setContextPath("/test");

        Handler handler = new MyHandler();
        mycontext.setHandler(handler);

        contexts.addHandler(mycontext);

        HandlerCollection handlers = new HandlerCollection();
        handlers.setHandlers(new Handler[] { contexts, new DefaultHandler() });

        server.setHandler(handlers);

        server.start();
        server.join();

    }   
}

MyHandler也被添加到我处理请求并发送200 ok的地方。

请帮助我。

2 个答案:

答案 0 :(得分:0)

为什么jetty会使用您当前的设置重定向到https连接器?要实现这样的目的,你必须为你的webapp添加一个安全约束,如此处所述(我在google中找到的第一个链接。只需搜索webapp security-constraint机密以查找更多示例):http://docs.oracle.com/javaee/6/tutorial/doc/gkbaa.html

或者添加一个处理程序,从http连接器重定向到https连接器或类似的东西。

答案 1 :(得分:0)

您可能需要在transport-guarantee中配置web.xml元素才能使其正常工作。

请参阅: http://docs.oracle.com/cd/E19226-01/820-7627/bncbk/index.html