1

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

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 的地方。

请帮我。

4

2 回答 2

0

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

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

于 2013-03-14T15:37:16.107 回答
0

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

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

于 2015-05-21T19:25:47.957 回答