Yes. It has a single line: org.eclipse.jetty.http.Http1FieldPreEncoder Should it have 2 lines? What if I just disallow that file altogether?
On Fri, Oct 4, 2019 at 8:10 PM Greg Wilkins <[email protected]> wrote: > > Glen, > > it is not a matter of if the classes are in the jar or not. It is a > matter of if the META-INF/services has been correctly configured to load > them with the ServiceLoader. > > Does your jar have > a META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder file and if > so, what is it's contents? > > > > On Sat, 5 Oct 2019 at 10:05, Glen Peterson <[email protected]> > wrote: > >> I may have been able to really simplify my example. Here's the entire >> main method that works when run from class files, and fails when run from >> the jar: >> >> val bb: ByteBuffer = ByteBuffer.allocate(100) >> >> PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_1_0) >> logger.info("hello world http 1.0: " + bb) >> >> PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_1_1) >> logger.info("hello world http 1.1: " + bb) >> >> PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_2) >> logger.info("hello world http 2: " + bb) >> >> OUTPUT (from Jar - breaks): >> hello world http 1.0: java.nio.HeapByteBuffer[pos=14 lim=100 cap=100] >> hello world http 1.1: java.nio.HeapByteBuffer[pos=28 lim=100 cap=100] >> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: >> Index 1 out of bounds for length 1 >> at >> org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:118) >> at org.organicdesign.classVsJar.ClazzVsJarKt.main(ClazzVsJar.kt:84) >> >> From classes it ends with: >> hello world http 2: java.nio.HeapByteBuffer[pos=39 lim=100 cap=100] >> >> >> Greg Wilkins: >> logger.info("http1fieldpreEncoderVersion = " + >> org.eclipse.jetty.http.Http1FieldPreEncoder().httpVersion) >> logger.info("http2fieldpreEncoderVersion = " + >> org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder().httpVersion) >> >> Output: >> http1fieldpreEncoderVersion = HTTP/1.0 >> http2fieldpreEncoderVersion = HTTP/2.0 >> >> So both are in the Jar and successfully loaded by the JVM. Maybe I'm >> getting an older version of one of them from another jar? Presumably >> another jetty jar? My IDE doesn't give me a choice for where to import >> them from, so I don't know where another version could be coming from. >> >> >> On Fri, Oct 4, 2019 at 7:34 PM Glen Peterson <[email protected]> >> wrote: >> >>> It *works* with http1.1 (I will also look more at the fat-jar thing): >>> >>> $ curl --http1.1 --verbose --insecure https://localhost:8443 -D >>> headers.txt >>> * Rebuilt URL to: https://localhost:8443/ >>> * Trying 127.0.0.1... >>> * TCP_NODELAY set >>> * Connected to localhost (127.0.0.1) port 8443 (#0) >>> * ALPN, offering http/1.1 >>> * successfully set certificate verify locations: >>> * CAfile: /etc/ssl/certs/ca-certificates.crt >>> CApath: /etc/ssl/certs >>> * TLSv1.3 (OUT), TLS handshake, Client hello (1): >>> * TLSv1.3 (IN), TLS handshake, Server hello (2): >>> * TLSv1.3 (IN), TLS Unknown, Certificate Status (22): >>> * TLSv1.3 (IN), TLS handshake, Unknown (8): >>> * TLSv1.3 (IN), TLS handshake, Certificate (11): >>> * TLSv1.3 (IN), TLS handshake, CERT verify (15): >>> * TLSv1.3 (IN), TLS handshake, Finished (20): >>> * TLSv1.3 (OUT), TLS change cipher, Client hello (1): >>> * TLSv1.3 (OUT), TLS Unknown, Certificate Status (22): >>> * TLSv1.3 (OUT), TLS handshake, Finished (20): >>> * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 >>> * ALPN, server accepted to use http/1.1 >>> * Server certificate: >>> * subject: C=US; ST=South Carolina; L=Upstate; O=OrganicDesign; >>> OU=Testing; CN=classVsJar.organicdesign.org >>> * start date: Oct 2 20:53:35 2019 GMT >>> * expire date: Oct 2 20:53:35 2022 GMT >>> * issuer: C=US; ST=South Carolina; L=Upstate; O=OrganicDesign; >>> OU=Testing; CN=classVsJar.organicdesign.org >>> * SSL certificate verify result: self signed certificate (18), >>> continuing anyway. >>> * TLSv1.3 (OUT), TLS Unknown, Unknown (23): >>> > GET / HTTP/1.1 >>> > Host: localhost:8443 >>> > User-Agent: curl/7.58.0 >>> > Accept: */* >>> > >>> * TLSv1.3 (IN), TLS Unknown, Unknown (23): >>> < HTTP/1.1 200 OK >>> < Content-Type: text/html;charset=utf-8 >>> < Content-Length: 178 >>> < Server: Jetty(9.4.20.v20190813) >>> < >>> * TLSv1.3 (IN), TLS Unknown, Unknown (23): >>> <!DOCTYPE html> >>> <html lang="en"> >>> <head> >>> <meta charset="utf-8"> >>> <title>Test Page</title> >>> </head> >>> <body> >>> <h1>It works!</h1> >>> <p>Working.</p> >>> </body> >>> </html> >>> * Connection #0 to host localhost left intact >>> >>> On Fri, Oct 4, 2019 at 6:32 PM Greg Wilkins <[email protected]> wrote: >>> >>>> I'm guessing the problem is the way you make your fat jar you must not >>>> be correctly combining the >>>> META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder files >>>> >>>> To run both http1 and http2, you need that file to exist in the jar and >>>> to contain: >>>> >>>> org.eclipse.jetty.http.Http1FieldPreEncoder >>>> org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder >>>> >>>> >>>> On Sat, 5 Oct 2019 at 07:35, Joakim Erdfelt <[email protected]> wrote: >>>> >>>>> Interesting, I wonder if you are hitting the response headers issues >>>>> with regards to HTTP/2. >>>>> >>>>> See: >>>>> https://github.com/eclipse/jetty.project/issues/3956 >>>>> and https://github.com/eclipse/jetty.project/issues/4115 >>>>> >>>>> Can you run curl again, but with HTTP/1.1? >>>>> >>>>> $ curl --http1.1 --verbose .... >>>>> >>>>> What kind of headers are you actually using? >>>>> >>>>> Joakim Erdfelt / [email protected] >>>>> >>>>> >>>>> On Fri, Oct 4, 2019 at 4:04 PM Glen Peterson < >>>>> [email protected]> wrote: >>>>> >>>>>> I changed the logging configuration from INFO to DEBUG and found this >>>>>> error when Jetty tries to serve the request: >>>>>> >>>>>> Sending HeadersFrame@676f5d6c#1{end=false} >>>>>> Appended HeadersFrame@676f5d6c#1{end=false}, entries=1 >>>>>> Flushing HTTP2ServerSession@74a58163{l:/0:0:0:0:0:0:0:1:8443 <-> >>>>>> r:/0:0:0:0:0:0:0:1:53320,sendWindow=15728640,recvWindow=1048576,streams=1,NOT_CLOSED,null} >>>>>> Processing HeadersFrame@676f5d6c#1{end=false} >>>>>> CtxTbl[3319f232] encoding >>>>>> encode IdxFieldS1:':status: 200' to '88' >>>>>> Failure generating HeadersFrame@676f5d6c#1{end=false} >>>>>> >>>>>> java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for >>>>>> length 1 >>>>>> >>>>>> at >>>>>> org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:118) >>>>>> at >>>>>> org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:316) >>>>>> at >>>>>> org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:204) >>>>>> at >>>>>> org.eclipse.jetty.http2.generator.HeadersGenerator.generateHeaders(HeadersGenerator.java:72) >>>>>> at >>>>>> org.eclipse.jetty.http2.generator.HeadersGenerator.generate(HeadersGenerator.java:56) >>>>>> at >>>>>> org.eclipse.jetty.http2.generator.Generator.control(Generator.java:80) >>>>>> at >>>>>> org.eclipse.jetty.http2.HTTP2Session$ControlEntry.generate(HTTP2Session.java:1250) >>>>>> at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:187) >>>>>> at >>>>>> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) >>>>>> at >>>>>> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223) >>>>>> at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:757) >>>>>> at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:727) >>>>>> at org.eclipse.jetty.http2.HTTP2Stream.headers(HTTP2Stream.java:112) >>>>>> at >>>>>> org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.sendHeadersFrame(HttpTransportOverHTTP2.java:270) >>>>>> at >>>>>> org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.send(HttpTransportOverHTTP2.java:142) >>>>>> at >>>>>> org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:852) >>>>>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:929) >>>>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:250) >>>>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:226) >>>>>> at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:308) >>>>>> at org.eclipse.jetty.server.HttpWriter.close(HttpWriter.java:47) >>>>>> at >>>>>> org.eclipse.jetty.server.ResponseWriter.close(ResponseWriter.java:161) >>>>>> at org.eclipse.jetty.server.Response.closeOutput(Response.java:844) >>>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:517) >>>>>> at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:314) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135) >>>>>> at >>>>>> org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:170) >>>>>> at >>>>>> org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:150) >>>>>> at >>>>>> org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:442) >>>>>> at >>>>>> org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:130) >>>>>> at >>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) >>>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) >>>>>> at >>>>>> org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:426) >>>>>> at >>>>>> org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320) >>>>>> at >>>>>> org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158) >>>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) >>>>>> at >>>>>> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) >>>>>> at >>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) >>>>>> at java.base/java.lang.Thread.run(Thread.java:834) >>>>>> Failing, entries processed/pending/queued=0/1/0 >>>>>> >>>>>> I re-posted this version here: >>>>>> https://github.com/GlenKPeterson/classVsJar >>>>>> >>>>>> On Wed, Oct 2, 2019 at 5:40 PM Glen Peterson < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Yes Joakim. I just made one and posted it here: >>>>>>> https://github.com/GlenKPeterson/classVsJar >>>>>>> >>>>>>> On Wed, Oct 2, 2019 at 2:43 PM Joakim Erdfelt <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Do you have a project that you can share that replicates this? >>>>>>>> >>>>>>>> Joakim Erdfelt / [email protected] >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Oct 2, 2019 at 1:16 PM Glen Peterson < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> P.S. I was able to get some interesting output from wget2 >>>>>>>>> (successor to wget). It works fine running with the classes. With >>>>>>>>> the jar >>>>>>>>> file, I get the following which seems jetty-related: >>>>>>>>> >>>>>>>>> $ wget2 -d --no-check-certificate >>>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ >>>>>>>>> 02.140606.876 name=check-certificate value= >>>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ invert=1 >>>>>>>>> 02.140606.876 name=check-certificate value= >>>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ invert=1 >>>>>>>>> 02.140606.876 Local URI encoding = 'UTF-8' >>>>>>>>> 02.140606.876 Input URI encoding = 'UTF-8' >>>>>>>>> 02.140606.876 Fetched HSTS data from '/home/gpeterso/.wget-hsts' >>>>>>>>> 02.140606.876 Fetched HPKP data from '/home/gpeterso/.wget-hpkp' >>>>>>>>> 02.140606.877 add TLS session data for dev.memoryjoggerlibrary.com >>>>>>>>> (maxage=64800, size=1260) >>>>>>>>> 02.140606.877 Fetched TLS session data from >>>>>>>>> '/home/gpeterso/.wget-session' >>>>>>>>> 02.140606.877 Fetched OCSP hosts from >>>>>>>>> '/home/gpeterso/.wget-ocsp_hosts' >>>>>>>>> 02.140606.877 Fetched OCSP fingerprints from >>>>>>>>> '/home/gpeterso/.wget-ocsp' >>>>>>>>> 02.140606.877 *url = https://dev.memoryjoggerlibrary.com:8443/ >>>>>>>>> 02.140606.877 *3 https://dev.memoryjoggerlibrary.com:8443/ >>>>>>>>> 02.140606.877 local filename = 'index.html' >>>>>>>>> 02.140606.877 host_add_job: job fname index.html >>>>>>>>> 02.140606.877 host_add_job: 0x55b15a6bfb60 >>>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ >>>>>>>>> 02.140606.877 host_add_job: qsize 1 host-qsize=1 >>>>>>>>> 02.140606.877 queue_size: qsize=1 >>>>>>>>> 02.140606.877 queue_size: qsize=1 >>>>>>>>> 02.140606.877 queue_size: qsize=1 >>>>>>>>> 02.140606.877 [0] action=1 pending=0 host=0x0 >>>>>>>>> 02.140606.877 qsize=1 blocked=0 >>>>>>>>> 02.140606.877 pause=-1570039566877 >>>>>>>>> 02.140606.877 dequeue job >>>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ >>>>>>>>> 02.140606.877 resolving dev.memoryjoggerlibrary.com:8443... >>>>>>>>> 02.140606.877 has 127.0.0.1:8443 >>>>>>>>> 02.140606.877 Add dns cache entry dev.memoryjoggerlibrary.com >>>>>>>>> 02.140606.877 trying 127.0.0.1:8443... >>>>>>>>> 02.140606.877 GnuTLS init >>>>>>>>> 02.140606.877 Certificates loaded: -1 >>>>>>>>> 02.140606.877 GnuTLS init done >>>>>>>>> 02.140606.877 TLS False Start requested >>>>>>>>> 02.140606.877 ALPN offering h2 >>>>>>>>> 02.140606.877 ALPN offering http/1.1 >>>>>>>>> 02.140606.877 found cached session data for >>>>>>>>> dev.memoryjoggerlibrary.com >>>>>>>>> WARNING: The certificate is NOT trusted. The certificate issuer is >>>>>>>>> unknown. >>>>>>>>> 02.140606.885 TLS False Start: on >>>>>>>>> 02.140606.885 ALPN: Server accepted protocol 'h2' >>>>>>>>> 02.140606.885 Handshake completed >>>>>>>>> 02.140606.885 established connection dev.memoryjoggerlibrary.com >>>>>>>>> 02.140606.885 cookie_create_request_header for host= >>>>>>>>> dev.memoryjoggerlibrary.com path= >>>>>>>>> 02.140606.885 HTTP2 stream id 1 >>>>>>>>> 02.140606.885 [0] action=1 pending=1 host=0x55b15a6bf9c0 >>>>>>>>> 02.140606.885 qsize=1 blocked=0 >>>>>>>>> 02.140606.885 pause=-1570039566885 >>>>>>>>> 02.140606.885 [0] action=2 pending=1 host=0x55b15a6bf9c0 >>>>>>>>> 02.140606.885 ## pending_requests = 1 >>>>>>>>> 02.140606.885 ## loop responses=0 >>>>>>>>> 02.140606.885 [FRAME 0] > SETTINGS >>>>>>>>> 02.140606.885 [FRAME 1] > HEADERS >>>>>>>>> 02.140606.885 [FRAME 1] > :method: GET >>>>>>>>> 02.140606.885 [FRAME 1] > :path: / >>>>>>>>> 02.140606.885 [FRAME 1] > :scheme: https >>>>>>>>> 02.140606.885 [FRAME 1] > :authority: dev.memoryjoggerlibrary.com >>>>>>>>> 02.140606.885 [FRAME 1] > accept-encoding: gzip, deflate, bzip2, >>>>>>>>> xz, lzma >>>>>>>>> 02.140606.885 [FRAME 1] > accept: >>>>>>>>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 >>>>>>>>> 02.140606.885 [FRAME 1] > user-agent: wget2/1.0.0 >>>>>>>>> 02.140606.885 ## loop responses=0 >>>>>>>>> 02.140606.886 Got delayed session data >>>>>>>>> 02.140606.886 found TLS session data for >>>>>>>>> dev.memoryjoggerlibrary.com >>>>>>>>> 02.140606.886 removed TLS session data for >>>>>>>>> dev.memoryjoggerlibrary.com >>>>>>>>> 02.140606.886 add TLS session data for dev.memoryjoggerlibrary.com >>>>>>>>> (maxage=64800, size=1260) >>>>>>>>> 02.140606.886 ## loop responses=0 >>>>>>>>> 02.140606.886 [FRAME 0] < SETTINGS >>>>>>>>> 02.140606.886 [FRAME 0] < WINDOW_UPDATE >>>>>>>>> 02.140606.886 ## loop responses=0 >>>>>>>>> 02.140606.886 [FRAME 0] > SETTINGS >>>>>>>>> 02.140606.886 ## loop responses=0 >>>>>>>>> 02.140606.886 [FRAME 0] < SETTINGS >>>>>>>>> 02.140606.886 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> 02.140608.260 ## loop responses=0 >>>>>>>>> >>>>>>>>> That scrolled really fast in a loop until I hit CTRL-C >>>>>>>>> >>>>>>>>> 02.140608.260 host_increase_failure: dev.memoryjoggerlibrary.com >>>>>>>>> failures=1 >>>>>>>>> 02.140608.260 closing connection >>>>>>>>> >>>>>>>>> It just sat there doing nothing, so I hit CTRL-C again to exit >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Oct 2, 2019 at 1:43 PM Glen Peterson < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Thank you for jetty. I've been using it for a few years now and >>>>>>>>>> love it. Especially that I can configure it programmatically (with >>>>>>>>>> Kotlin >>>>>>>>>> code) and that you have updated the SSL/TLS protocol defaults over >>>>>>>>>> time. >>>>>>>>>> Such an improvement over Tomcat! >>>>>>>>>> >>>>>>>>>> *Problem* >>>>>>>>>> My problem may be jar-file/classpath related and not jetty >>>>>>>>>> related, but then why does jetty actually call my code, service the >>>>>>>>>> request, but not return the response? >>>>>>>>>> >>>>>>>>>> I recently enabled HTTP/2 (Google wants that for a Progressive >>>>>>>>>> Web App). Now if I run my app the way IntelliJ does, giving the >>>>>>>>>> compiled >>>>>>>>>> classes directory, then adding all the jar dependencies it works. >>>>>>>>>> `java >>>>>>>>>> -classpath classes/:bunch-of-jar-files... MainClassName` it works. >>>>>>>>>> But if >>>>>>>>>> I run from the fat-jar file it doesn't work. >>>>>>>>>> >>>>>>>>>> *curl* >>>>>>>>>> >>>>>>>>>> *Jar File Failure:* >>>>>>>>>> $ curl --insecure https://dev.memoryjoggerlibrary.com:8443 -D >>>>>>>>>> headers.txt >>>>>>>>>> curl: (56) Unexpected EOF >>>>>>>>>> $ ls -s >>>>>>>>>> total 0 >>>>>>>>>> 0 headers.txt >>>>>>>>>> >>>>>>>>>> *Class Files Success:* >>>>>>>>>> That same curl command returns the HTML file I was expecting when >>>>>>>>>> running with the massive classpath (no fat-jar), plus the following >>>>>>>>>> headers.txt: >>>>>>>>>> HTTP/2 200 >>>>>>>>>> server: Jetty(9.4.20.v20190813) >>>>>>>>>> content-type: text/html;charset=utf-8 >>>>>>>>>> >>>>>>>>>> I have determined that the jar files included by maven exactly >>>>>>>>>> match the jar files specified on the command line. >>>>>>>>>> >>>>>>>>>> *Chrome* >>>>>>>>>> With chrome, the class files work great, but the Jar file >>>>>>>>>> produces, "This site can’t be reached... unexpectedly closed the >>>>>>>>>> connection... ERR_CONNECTION_CLOSED" >>>>>>>>>> >>>>>>>>>> *Unaffected* >>>>>>>>>> *Log Files:* >>>>>>>>>> I can see in the log files in both cases that the request is >>>>>>>>>> being processed, but there is no exception thrown and no response >>>>>>>>>> apparently written. >>>>>>>>>> >>>>>>>>>> *Nmap Cipher Test:* >>>>>>>>>> Whether it yields HTML or not, the server gives the same response >>>>>>>>>> to my cipher test: >>>>>>>>>> $ nmap --script ssl-cert,ssl-enum-ciphers -p 8443 >>>>>>>>>> dev.memoryjoggerlibrary.com >>>>>>>>>> >>>>>>>>>> Starting Nmap 7.60 ( https://nmap.org ) at 2019-10-02 13:32 EDT >>>>>>>>>> Nmap scan report for dev.memoryjoggerlibrary.com (127.0.0.1) >>>>>>>>>> Host is up (0.000053s latency). >>>>>>>>>> rDNS record for 127.0.0.1: localhost >>>>>>>>>> >>>>>>>>>> PORT STATE SERVICE >>>>>>>>>> 8443/tcp open https-alt >>>>>>>>>> | ssl-cert: Subject: commonName= >>>>>>>>>> dev.memoryjoggerlibrary.com/organizationName=PlanBase >>>>>>>>>> Inc./stateOrProvinceName=Massachusetts/countryName=US >>>>>>>>>> | Issuer: commonName= >>>>>>>>>> dev.memoryjoggerlibrary.com/organizationName=PlanBase >>>>>>>>>> Inc./stateOrProvinceName=Massachusetts/countryName=US >>>>>>>>>> | Public Key type: rsa >>>>>>>>>> | Public Key bits: 2048 >>>>>>>>>> | Signature Algorithm: sha256WithRSAEncryption >>>>>>>>>> | Not valid before: 2019-09-25T20:57:00 >>>>>>>>>> | Not valid after: 2022-09-25T20:57:00 >>>>>>>>>> | MD5: 483e 988f 709f 7300 3f3d 1d51 4f95 81cb >>>>>>>>>> |_SHA-1: abe8 c872 c7d7 dfb1 4152 8bf3 2fee 5617 7613 94cd >>>>>>>>>> | ssl-enum-ciphers: >>>>>>>>>> | TLSv1.2: >>>>>>>>>> | ciphers: >>>>>>>>>> | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A >>>>>>>>>> | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A >>>>>>>>>> | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (rsa 2048) - A >>>>>>>>>> | compressors: >>>>>>>>>> | NULL >>>>>>>>>> | cipher preference: server >>>>>>>>>> |_ least strength: A >>>>>>>>>> >>>>>>>>>> Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds >>>>>>>>>> >>>>>>>>>> *Details:* >>>>>>>>>> I'm using a self-signed certificate. >>>>>>>>>> >>>>>>>>>> Currently using (from maven .pom): >>>>>>>>>> <jetty.version>9.4.20.v20190813 >>>>>>>>>> jetty-server >>>>>>>>>> jetty-alpn-conscrypt-server >>>>>>>>>> http2-common >>>>>>>>>> http2-hpack >>>>>>>>>> http2-server >>>>>>>>>> >>>>>>>>>> Not currently using: conscrypt-openjdk (seems to be overridden by >>>>>>>>>> the conscrypt-openjdk-uber included in jetty-alpn-conscrypt-server - >>>>>>>>>> same >>>>>>>>>> issues with or without this dependency) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Glen K. Peterson >>>>>>>>>> (828) 393-0081 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Glen K. Peterson >>>>>>>>> (828) 393-0081 >>>>>>>>> _______________________________________________ >>>>>>>>> jetty-users mailing list >>>>>>>>> [email protected] >>>>>>>>> To change your delivery options, retrieve your password, or >>>>>>>>> unsubscribe from this list, visit >>>>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> jetty-users mailing list >>>>>>>> [email protected] >>>>>>>> To change your delivery options, retrieve your password, or >>>>>>>> unsubscribe from this list, visit >>>>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Glen K. Peterson >>>>>>> (828) 393-0081 >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Glen K. Peterson >>>>>> (828) 393-0081 >>>>>> _______________________________________________ >>>>>> jetty-users mailing list >>>>>> [email protected] >>>>>> To change your delivery options, retrieve your password, or >>>>>> unsubscribe from this list, visit >>>>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>>> >>>>> _______________________________________________ >>>>> jetty-users mailing list >>>>> [email protected] >>>>> To change your delivery options, retrieve your password, or >>>>> unsubscribe from this list, visit >>>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>>> >>>> >>>> >>>> -- >>>> Greg Wilkins <[email protected]> CTO http://webtide.com >>>> _______________________________________________ >>>> jetty-users mailing list >>>> [email protected] >>>> To change your delivery options, retrieve your password, or unsubscribe >>>> from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/jetty-users >>> >>> >>> >>> -- >>> Glen K. Peterson >>> (828) 393-0081 >>> >> >> >> -- >> Glen K. Peterson >> (828) 393-0081 >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> To change your delivery options, retrieve your password, or unsubscribe >> from this list, visit >> https://www.eclipse.org/mailman/listinfo/jetty-users > > > > -- > Greg Wilkins <[email protected]> CTO http://webtide.com > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://www.eclipse.org/mailman/listinfo/jetty-users -- Glen K. Peterson (828) 393-0081
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
