Skip to content

Commit feb9dda

Browse files
authored
Merge pull request #6485 from dizzzz/feature/http2
[feature] Enable HTTP/2 for jetty
2 parents 7c0d80b + 7161328 commit feb9dda

7 files changed

Lines changed: 73 additions & 1 deletion

File tree

exist-core/pom.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,21 @@
434434
<groupId>org.eclipse.jetty</groupId>
435435
<artifactId>jetty-server</artifactId>
436436
</dependency>
437+
<dependency>
438+
<groupId>org.eclipse.jetty.http2</groupId>
439+
<artifactId>jetty-http2-server</artifactId>
440+
<scope>runtime</scope>
441+
</dependency>
442+
<dependency>
443+
<groupId>org.eclipse.jetty</groupId>
444+
<artifactId>jetty-alpn-server</artifactId>
445+
<scope>runtime</scope>
446+
</dependency>
447+
<dependency>
448+
<groupId>org.eclipse.jetty</groupId>
449+
<artifactId>jetty-alpn-java-server</artifactId>
450+
<scope>runtime</scope>
451+
</dependency>
437452
<dependency>
438453
<groupId>org.eclipse.jetty</groupId>
439454
<artifactId>jetty-util</artifactId>
@@ -1033,6 +1048,9 @@ The BaseX Team. The original license statement is also included below.]]></pream
10331048
<ignoredUnusedDeclaredDependency>org.eclipse.jetty:jetty-jmx:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
10341049
<ignoredUnusedDeclaredDependency>org.eclipse.jetty.ee10:jetty-ee10-annotations:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
10351050
<ignoredUnusedDeclaredDependency>org.eclipse.jetty:jetty-security:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
1051+
<ignoredUnusedDeclaredDependency>org.eclipse.jetty.http2:jetty-http2-server:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
1052+
<ignoredUnusedDeclaredDependency>org.eclipse.jetty:jetty-alpn-server:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
1053+
<ignoredUnusedDeclaredDependency>org.eclipse.jetty:jetty-alpn-java-server:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
10361054
<ignoredUnusedDeclaredDependency>${project.groupId}:exist-jetty-config:jar:${project.version}</ignoredUnusedDeclaredDependency>
10371055
<ignoredUnusedDeclaredDependency>org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client:jar:${jetty.version}</ignoredUnusedDeclaredDependency>
10381056
<ignoredUnusedDeclaredDependency>org.apache.mina:mina-core</ignoredUnusedDeclaredDependency>

exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty-http.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@
3131
<Arg name="config"><Ref refid="httpConfig" /></Arg>
3232
</New>
3333
</Item>
34+
<Item>
35+
<New class="org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory">
36+
<Arg name="config"><Ref refid="httpConfig" /></Arg>
37+
</New>
38+
</Item>
3439
</Array>
3540
</Arg>
3641
<Set name="host"><Property name="jetty.http.host" deprecated="jetty.host"><Default><SystemProperty name="jetty.http.host" deprecated="jetty.host"/></Default></Property></Set>

exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty-https.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,34 @@
1111
<Call name="addIfAbsentConnectionFactory">
1212
<Arg>
1313
<New class="org.eclipse.jetty.server.SslConnectionFactory">
14-
<Arg name="next">http/1.1</Arg>
14+
<Arg name="next">alpn</Arg>
1515
<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
1616
</New>
1717
</Arg>
1818
</Call>
1919

20+
<Call name="addConnectionFactory">
21+
<Arg>
22+
<New class="org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory">
23+
<Arg name="protocols">
24+
<Array type="String">
25+
<Item>h2</Item>
26+
<Item>http/1.1</Item>
27+
</Array>
28+
</Arg>
29+
<Set name="defaultProtocol">http/1.1</Set>
30+
</New>
31+
</Arg>
32+
</Call>
33+
34+
<Call name="addConnectionFactory">
35+
<Arg>
36+
<New class="org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory">
37+
<Arg name="config"><Ref refid="sslHttpConfig" /></Arg>
38+
</New>
39+
</Arg>
40+
</Call>
41+
2042
<Call name="addConnectionFactory">
2143
<Arg>
2244
<New class="org.eclipse.jetty.server.HttpConnectionFactory">

exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty-ssl-context.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
<Item>.*MD5.*</Item>
4242
<Item>.*DES.*</Item>
4343
<Item>.*DSS.*</Item>
44+
<Item>.*_CBC_.*</Item>
45+
<Item>.*_SHA$</Item>
4446
</Array>
4547
</Arg>
4648
</Call>
@@ -55,6 +57,8 @@
5557
<Item>SSLv2</Item>
5658
<Item>SSLv2Hello</Item>
5759
<Item>SSLv3</Item>
60+
<Item>TLSv1</Item>
61+
<Item>TLSv1.1</Item>
5862
</Array>
5963
</Arg>
6064
</Call>

exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@
7676
<Set name="multiPartCompliance"><Call class="org.eclipse.jetty.http.MultiPartCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.multiPartCompliance" default="RFC7578"/></Arg></Call></Set>
7777
<Set name="httpCompliance"><Call class="org.eclipse.jetty.http.HttpCompliance" name="valueOf"><Arg><Property name="jetty.http.compliance" default="RFC7230_LEGACY"/></Arg></Call></Set>
7878
<Set name="uriCompliance"><Call class="org.eclipse.jetty.http.UriCompliance" name="valueOf"><Arg><Property name="jetty.uri.compliance" default="UNSAFE"/></Arg></Call></Set>
79+
<Set name="useInputDirectByteBuffers"><Property name="jetty.httpConfig.useInputDirectByteBuffers" default="true" /></Set>
80+
<Set name="useOutputDirectByteBuffers"><Property name="jetty.httpConfig.useOutputDirectByteBuffers" default="true" /></Set>
7981
</New>
8082

8183
<!-- =========================================================== -->

exist-jetty-config/src/main/resources/org/exist/jetty/etc/standalone-jetty-http.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@
3131
<Arg name="config"><Ref refid="httpConfig" /></Arg>
3232
</New>
3333
</Item>
34+
<Item>
35+
<New class="org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory">
36+
<Arg name="config"><Ref refid="httpConfig" /></Arg>
37+
</New>
38+
</Item>
3439
</Array>
3540
</Arg>
3641
<Set name="host"><Property name="jetty.http.host" deprecated="jetty.host"><Default><SystemProperty name="jetty.http.host" deprecated="jetty.host"/></Default></Property></Set>

exist-parent/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,22 @@
371371
<artifactId>jetty-http</artifactId>
372372
<version>${jetty.version}</version>
373373
</dependency>
374+
<dependency>
375+
<groupId>org.eclipse.jetty.http2</groupId>
376+
<artifactId>jetty-http2-server</artifactId>
377+
<version>${jetty.version}</version>
378+
</dependency>
379+
<dependency>
380+
<groupId>org.eclipse.jetty</groupId>
381+
<artifactId>jetty-alpn-server</artifactId>
382+
<version>${jetty.version}</version>
383+
</dependency>
384+
<dependency>
385+
<groupId>org.eclipse.jetty</groupId>
386+
<artifactId>jetty-alpn-java-server</artifactId>
387+
<version>${jetty.version}</version>
388+
<scope>runtime</scope>
389+
</dependency>
374390
<!-- Jetty 12 ee10 modules (Jakarta EE 10 / Servlet 6.0) -->
375391
<dependency>
376392
<groupId>org.eclipse.jetty.ee10</groupId>

0 commit comments

Comments
 (0)