Jetty将HTTP重定向到HTTPS在IDE外部失败

问题描述 投票:0回答:1

我已经使用以下代码将HTTP重定向到HTTPS,当在Netbeans上运行时,它运行良好,但在IDE外部失败。 我做错了什么? 帮助,我使用Jetty版本9.3.19.v20170502。

  ContextHandlerCollection contexts = new ContextHandlerCollection();
    WebAppContext webAppContext = new AppContext().buildWebAppContext();

    // this configures jetty to require HTTPS for all requests
    Constraint constraint = new Constraint();
    constraint.setDataConstraint(Constraint.DC_CONFIDENTIAL);
    ConstraintMapping mapping = new ConstraintMapping();
    mapping.setPathSpec("/*");
    mapping.setConstraint(constraint);
    ConstraintSecurityHandler securityHandler = new ConstraintSecurityHandler();

    securityHandler.setConstraintMappings(Collections.singletonList(mapping));
    securityHandler.setHandler(webAppContext);

    contexts.setHandlers(new Handler[]{securityHandler, contextHandler});

    jettyServer.setHandler(contexts);

我在nbactions.xml上使用它在Netbeans上运行项目。

<properties>
        <exec.args>-Xms1024m -Xmx1024m -Xbootclasspath/p:C:/Users/Hope/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/${alpn-boot-version}/alpn-boot-${alpn-boot-version}.jar -classpath %classpath ${packageClassName}</exec.args>
        <exec.executable>java</exec.executable>
       <exec.classpathScope>${classPathScope}</exec.classpathScope>
</properties>

使用此等效命令在cmd上的Netbeans外部运行项目。

cd path/to/warfile
java -Xms1024m -Xmx1024m -Xbootclasspath/p:C:/Users/Hope/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/8.1.11.v20170118/alpn-boot-8.1.11.v20170118.jar  -version:"1.8.0_121" -jar project.war

这是我的sslContextFactory。

SslContextFactory sslContextFactory = new SslContextFactory();
    sslContextFactory.setKeyStorePath(keyStorePath);
    sslContextFactory.setKeyStorePassword(PASS);
    sslContextFactory.setKeyManagerPassword(PASS);
    sslContextFactory.setProtocol("TLSv1.2");
    sslContextFactory.setCipherComparator(HTTP2Cipher.COMPARATOR);
    sslContextFactory.setUseCipherSuitesOrder(true);

但是我有一个例外:

[DEBUG] 2017-05-11 21:23:19.417 [qtp2114444063-24] HttpChannel - COMMIT for /public/index.xhtml on ServerHttpChannelOverHTTP2@30546632{r=1,c=true,a=DISPATCHED,uri=https://www.sub.example.com:8443/public/index.xhtml}#13
200 null HTTP/2.0
Server: Jetty(9.3.z-SNAPSHOT)
Date: Thu, 11 May 2017 20:23:15 GMT
Set-Cookie: JSESSIONID=16vseavvyqxc01s7h9z9gr6et6;Path=/;Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/html;charset=utf-8


[DEBUG] 2017-05-11 21:23:19.420 [qtp2114444063-24] HttpChannelOverHTTP2 -
HTTP2 Commit Response #13/774690f9:
HTTP/2.0 200 null
Server: Jetty(9.3.z-SNAPSHOT)
Date: Thu, 11 May 2017 20:23:15 GMT
Set-Cookie: JSESSIONID=16vseavvyqxc01s7h9z9gr6et6;Path=/;Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/html;charset=utf-8


[DEBUG] 2017-05-11 21:23:19.424 [qtp2114444063-24] HttpTransportOverHTTP2 - HTTP2 Response #13:
HTTP/2.0 200
Server: Jetty(9.3.z-SNAPSHOT)
Date: Thu, 11 May 2017 20:23:15 GMT
Set-Cookie: JSESSIONID=16vseavvyqxc01s7h9z9gr6et6;Path=/;Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/html;charset=utf-8


[DEBUG] 2017-05-11 21:23:19.430 [qtp2114444063-24] HTTP2Session - Sending HeadersFrame@7cb476e2#13{end=false}
[DEBUG] 2017-05-11 21:23:19.431 [qtp2114444063-24] HTTP2Flusher - Appended HeadersFrame@7cb476e2#13{end=false}, frames=1
[DEBUG] 2017-05-11 21:23:19.432 [qtp2114444063-24] HTTP2Flusher - Flushing HTTP2ServerSession@774690f9{l:/192.168.0.3:8443 <-> r:/192.168.0.3:52103,queueSize=1,sendWindow=12582912,recvWindow=65535,streams=1,NOT_CLOSED}
[DEBUG] 2017-05-11 21:23:19.433 [qtp2114444063-24] HTTP2Flusher - Gathered for write HeadersFrame@7cb476e2#13{end=false}
[DEBUG] 2017-05-11 21:23:19.435 [qtp2114444063-24] HpackEncoder - CtxTbl[18913dbf] encoding
[DEBUG] 2017-05-11 21:23:19.437 [qtp2114444063-24] HpackEncoder - encode IdxFieldS1:':status: 200' to '88'
[DEBUG] 2017-05-11 21:23:19.439 [qtp2114444063-24] HTTP2Session - Failure generating frame HeadersFrame@7cb476e2#13{end=false}
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:119) ~[project.war:1.0-SNAPSHOT]

  at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:202) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:74) [project.war:1.0-SNAPSHOT]
    at org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [project.war:1.0-SNAPSHOT]
    at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Server.handle(Server.java:534) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:267) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [project.war:1.0-SNAPSHOT]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[DEBUG] 2017-05-11 21:23:19.476 [qtp2114444063-24] HTTP2Flusher - Failing, active/queued=1/0
[DEBUG] 2017-05-11 21:23:19.478 [qtp2114444063-24] HTTP2Session - Removed remote HTTP2Stream@5c4616b8#13{sendWindow=12582912,recvWindow=65535,reset=false,CLOSED}
[DEBUG] 2017-05-11 21:23:19.479 [qtp2114444063-24] HttpTransportOverHTTP2 - HTTP2 Response #13 failed to commit
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:119) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:289) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:179) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generateHeaders(HeadersGenerator.java:72) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generate(HeadersGenerator.java:56) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.Generator.control(Generator.java:80) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session$ControlEntry.generate(HTTP2Session.java:1122) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:232) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:668) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:640) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Stream.headers(HTTP2Stream.java:87) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.commit(HttpTransportOverHTTP2.java:184) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.send(HttpTransportOverHTTP2.java:111) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:732) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:788) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:269) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpWriter.close(HttpWriter.java:49) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.ResponseWriter.close(ResponseWriter.java:163) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Dispatcher.commitResponse(Dispatcher.java:259) [project.war:1.0-SNAPSHOT]

    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Server.handle(Server.java:534) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:267) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [project.war:1.0-SNAPSHOT]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[DEBUG] 2017-05-11 21:23:19.506 [qtp2114444063-24] HttpChannel - Commit failed
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:119) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:289) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:179) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generateHeaders(HeadersGenerator.java:72) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generate(HeadersGenerator.java:56) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.Generator.control(Generator.java:80) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session$ControlEntry.generate(HTTP2Session.java:1122) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:232) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:668) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:640) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.HTTP2Stream.headers(HTTP2Stream.java:87) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.commit(HttpTransportOverHTTP2.java:184) [project.war:1.0-SNAPSHOT]

    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [project.war:1.0-SNAPSHOT]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[DEBUG] 2017-05-11 21:23:19.540 [qtp2114444063-24] HttpTransportOverHTTP2 - HTTP2 Response #13 aborted
[DEBUG] 2017-05-11 21:23:19.542 [qtp2114444063-24] HTTP2Session - Sending ResetFrame@2542701b#13{internal_error}
[DEBUG] 2017-05-11 21:23:19.543 [qtp2114444063-24] HTTP2Connection - Processing failure on HTTP2ServerSession@774690f9{l:/192.168.0.3:8443 <-> r:/192.168.0.3:52103,queueSize=0,sendWindow=12582912,recvWindow=65535,streams=0,NOT_CLOSED}: java.lang.ArrayIndexOutOfBoundsException: 1
[DEBUG] 2017-05-11 21:23:19.544 [qtp2114444063-24] HTTP2Flusher - Terminated
[DEBUG] 2017-05-11 21:23:19.544 [qtp2114444063-24] HTTP2Session - Disconnecting HTTP2ServerSession@774690f9{l:/192.168.0.3:8443 <-> r:/192.168.0.3:52103,queueSize=0,sendWindow=12582912,recvWindow=65535,streams=0,CLOSED}
[DEBUG] 2017-05-11 21:23:19.545 [qtp2114444063-24] SslConnection - shutdownOutput: oshut=false, ishut=false SslConnection@4811bc2d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3993/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3991/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.548 [qtp2114444063-24] SslConnection - flush b[0]= SslConnection@4811bc2d{NEED_WRAP,eio=-1/-1,di=-1} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3995/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3994/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.550 [qtp2114444063-24] SslConnection - wrap Status = CLOSED HandshakeStatus = NEED_UNWRAP bytesConsumed = 0 bytesProduced = 31 SslConnection@4811bc2d{NEED_UNWRAP,eio=-1/31,di=-1} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,3998/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3996/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.552 [qtp2114444063-24] ChannelEndPoint - flushed 31 SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,3998/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.554 [qtp2114444063-27] ManagedSelector - Selector loop woken up from select, 1/1 selected
[DEBUG] 2017-05-11 21:23:19.569 [qtp2114444063-27] SelectChannelEndPoint - onSelected 1->0 r=true w=false for SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,4015/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.571 [qtp2114444063-27] SelectChannelEndPoint - Direct readable run SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,4017/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.573 [qtp2114444063-27] FillInterest - FillInterest@578f792c{true,SSLC.NBReadCB@4811bc2d{SslConnection@4811bc2d{NEED_UNWRAP,eio=-1/0,di=-1} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,4020/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,4018/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]}} fillable SSLC.NBReadCB@4811bc2d{SslConnection@4811bc2d{NEED_UNWRAP,eio=-1/0,di=-1} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,4020/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,FI,-,4019/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]}
[DEBUG] 2017-05-11 21:23:19.577 [qtp2114444063-24] ChannelEndPoint - oshut SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,-,-,0/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.577 [qtp2114444063-27] SslConnection - onFillable enter DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,4025/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,-,-,0/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.580 [qtp2114444063-27] FillInterest - FillInterest@123a5f92{true,org.eclipse.jetty.http2.HTTP2Connection$FillCallback@35370707} fillable org.eclipse.jetty.http2.HTTP2Connection$FillCallback@35370707
[DEBUG] 2017-05-11 21:23:19.585 [qtp2114444063-27] HTTP2Connection - HTTP2 onFillable HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,-,-,4032/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,out,-,-,7/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.594 [qtp2114444063-27] HTTP2Connection - Dequeued task null
[DEBUG] 2017-05-11 21:23:19.596 [qtp2114444063-27] ChannelEndPoint - filled 46 SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,0/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.598 [qtp2114444063-27] SslConnection - net=46 unwrap Status = OK HandshakeStatus = NEED_UNWRAP bytesConsumed = 46 bytesProduced = 17 SslConnection@4811bc2d{NEED_UNWRAP,eio=0/-1,di=17} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,-,-,4046/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,0/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.596 [qtp2114444063-24] FillInterest - FillInterest@578f792c{true,AC.ReadCB@4811bc2d{SslConnection@4811bc2d{NEED_UNWRAP,eio=17362/-1,di=0} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,-,-,4043/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,1/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]}} register AC.ReadCB@4811bc2d{SslConnection@4811bc2d{NEED_UNWRAP,eio=17362/-1,di=0} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,-,-,4044/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,1/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]}
[DEBUG] 2017-05-11 21:23:19.601 [qtp2114444063-27] SslConnection - filled b[0]= SslConnection@4811bc2d{NEED_UNWRAP,eio=0/-1,di=17} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,Open,in,OSHUT,-,-,4049/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,3/2000000,SslConnection@4811bc2d}{io=1/0,kio=1,kro=1}]
[DEBUG] 2017-05-11 21:23:19.608 [qtp2114444063-27] HTTP2Connection - Filled 17 bytes
[DEBUG] 2017-05-11 21:23:19.609 [qtp2114444063-24] SelectChannelEndPoint - changeInterests p=true 0->1 for SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,Open,in,OSHUT,FI,-,11/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.611 [qtp2114444063-27] ServerParser - Parsing java.nio.HeapByteBuffer[pos=0 lim=17 cap=8192]
[DEBUG] 2017-05-11 21:23:19.613 [qtp2114444063-24] WriteFlusher - ignored: WriteFlusher@19660642{IDLE} java.nio.channels.ClosedChannelException
[DEBUG] 2017-05-11 21:23:19.614 [qtp2114444063-27] Parser - Parsed GO_AWAY frame header from java.nio.HeapByteBuffer[pos=9 lim=17 cap=8192]
[DEBUG] 2017-05-11 21:23:19.615 [qtp2114444063-24] ChannelEndPoint - close SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,CLOSED,in,OSHUT,-,-,17/2000000,SslConnection@4811bc2d}{io=1/1,kio=1,kro=1}
[DEBUG] 2017-05-11 21:23:19.616 [qtp2114444063-27] HTTP2Session - Received GoAwayFrame@2feeab64,0/NO_ERROR/
[DEBUG] 2017-05-11 21:23:19.618 [qtp2114444063-27] HTTP2Session - Ignored GoAwayFrame@2feeab64,0/NO_ERROR/, already closed
[DEBUG] 2017-05-11 21:23:19.618 [qtp2114444063-24] ManagedSelector - Queued change org.eclipse.jetty.io.ManagedSelector$2@aee6275 on org.eclipse.jetty.io.ManagedSelector@bd35a0c id=0 keys=1 selected=1
[DEBUG] 2017-05-11 21:23:19.618 [qtp2114444063-27] Parser - Parsed GO_AWAY frame body from java.nio.HeapByteBuffer[pos=17 lim=17 cap=8192]
[DEBUG] 2017-05-11 21:23:19.619 [qtp2114444063-24] WriteFlusher - ignored: WriteFlusher@1138af6d{IDLE} java.nio.channels.ClosedChannelException
[DEBUG] 2017-05-11 21:23:19.619 [qtp2114444063-27] HTTP2Connection - Dequeued new task null
[DEBUG] 2017-05-11 21:23:19.621 [qtp2114444063-27] SslConnection - net=-1 unwrap Status = BUFFER_UNDERFLOW HandshakeStatus = NEED_UNWRAP bytesConsumed = 0 bytesProduced = 0 SslConnection@4811bc2d{NEED_UNWRAP,eio=0/-1,di=0} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,CLOSED,in,OSHUT,-,-,4069/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,CLOSED,ISHUT,OSHUT,-,-,23/2000000,SslConnection@4811bc2d}{io=1/1,kio=-1,kro=-1}]
[DEBUG] 2017-05-11 21:23:19.620 [qtp2114444063-24] HttpOutput -
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:119) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:289) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:179) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generateHeaders(HeadersGenerator.java:72) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.HeadersGenerator.generate(HeadersGenerator.java:56) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.http2.generator.Generator.control(Generator.java:80) ~[project.war:1.0-SNAPSHOT]


    at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:788) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:269) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpWriter.close(HttpWriter.java:49) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.ResponseWriter.close(ResponseWriter.java:163) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Dispatcher.commitResponse(Dispatcher.java:259) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:202) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:74) [project.war:1.0-SNAPSHOT]
    at org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188) [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [project.war:1.0-SNAPSHOT]
    at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.Server.handle(Server.java:534) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:267) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [project.war:1.0-SNAPSHOT]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [project.war:1.0-SNAPSHOT]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[DEBUG] 2017-05-11 21:23:19.623 [qtp2114444063-27] SslConnection - filled b[0]= SslConnection@4811bc2d{NEED_UNWRAP,eio=0/-1,di=0} -> HTTP2ServerConnection@36ae36d5[DecryptedEndPoint@33608c07{/192.168.0.3:52103<->8443,CLOSED,in,OSHUT,-,-,4071/2000000,HTTP2ServerConnection@36ae36d5}->SelectChannelEndPoint@4dd57ced{/192.168.0.3:52103<->8443,CLOSED,ISHUT,OSHUT,-,-,25/2000000,SslConnection@4811bc2d}{io=1/1,kio=-1,kro=-1}]        

[DEBUG] 2017-05-11 21:23:19.652 [qtp2114444063-24] HttpTransportOverHTTP2 - HTTP2 Response #13 aborted
java ssl netbeans jetty-9
1个回答
0
投票

joakimesbordet非常感谢。 我发现使用maven-dependency-pluginMETA-INF.services Jetty服务器jar并没有合并jetty-http-<version>.jarhttp2-hpack-<version>.jar 。 我已经合并了两者,并且现在可以正常工作,因为ServiceLoader现在正在加载HpackFieldPreEncoder

征询joakime的建议,我将战争类从战争的根源移到了WEB-INF.jetty-server ,并在根源使用JettyBootstrap来启动服务器,就像在实时战争中那样。

从您的alpn-boot.jar HTTP / 2的问题,我们将使用此项目,因此alpn-boot.jar的要求可能不会有太大问题。

如果关于此设置还有其他问题,我将很高兴知道。

再次感谢。

© www.soinside.com 2019 - 2024. All rights reserved.