2016-07-19 6 views
0

私のJettyサーバーは、localhostからの要求のみを処理します。Jetty IPAccessHandlerを使用してIPv6アドレスをホワイトリストに登録する方法は?

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); 
    context.setContextPath("/webapi"); 
    IPAccessHandler ipBlockingHandler = new IPAccessHandler(); 
    ipBlockingHandler.addWhite("127.0.0.1|/*"); 
    ipBlockingHandler.setHandler(context); 
    final org.eclipse.jetty.server.Server jettyServer = new org.eclipse.jetty.server.Server(8080); 
    jettyServer.setHandler(ipBlockingHandler); 

けれども、これはIPv4だけのために働くと私はipBlockingHandler.addWhite("127.0.0.1|/*");を追加する場合、それは動作しません:私はこれを行うためにしようとしています。

答えて

0

これはIPAccessHandlerをオーバーライドし、手動adddressesを解析することによってなんとかある:

IPAccessHandler ipBlockingHandler = new IPAccessHandler(){ 
     @Override 
     protected boolean isAddrUriAllowed(String addr, 
           String path){ 
      return addr.equals("127.0.0.1") || addr.equals("0:0:0:0:0:0:0:1"); 
     } 
    }; 
関連する問題