1

私はjettyの新しいユーザーであり、すべてのhttpリクエストをsslポートにリダイレクトするjettyサーバーを開発しています。jetty チュートリアルで機密ポートの概念を見つけましたが、機能していません。コード スナップショットを追加しています。間違っているところを修正してください。

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 を送信している場所にも追加されます。

私を助けてください。

4

2 に答える 2

0

現在の設定で jetty が https コネクタにリダイレクトする必要があるのはなぜですか? このようなことを達成するには、たとえば、ここで説明されているように、webapp に security-constraint を追加する必要があります (最初に Google で見つけたリンクです。さらに例を見つけるには、webapp security-constraint secret を検索してください): 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 に答える