<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> <!-- ============================================================= --> <!-- Configure a SPDY connector. --> <!-- This configuration must be used in conjunction with jetty.xml --> <!-- and jetty-ssl.xml --> <!-- ============================================================= --> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <!-- =========================================================== --> <!-- Enables NPN debugging on System.err --> <!-- =========================================================== <Set class="org.eclipse.jetty.npn.NextProtoNego" name="debug" type="boolean">true</Set> --> <!-- =========================================================== --> <!-- Create a push strategy which can be used by reference by --> <!-- individual connection factories below. --> <!-- --> <!-- Consult the javadoc of o.e.j.spdy.server.http.ReferrerPushStrategy --> <!-- for all configuration that may be set here. --> <!-- =========================================================== --> <New id="pushStrategy" class="org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy"> <!-- Uncomment to blacklist browsers for this push strategy. If one of the blacklisted Strings occurs in the user-agent header sent by the client, push will be disabled for this browser. This is case insensitive" --> <!-- <Set name="UserAgentBlacklist"> <Array type="String"> <Item>.*(?i)firefox/14.*</Item> <Item>.*(?i)firefox/15.*</Item> <Item>.*(?i)firefox/16.*</Item> </Array> </Set> --> <!-- Uncomment to override default file extensions to push --> <!-- <Set name="PushRegexps"> <Array type="String"> <Item>.*\.css</Item> <Item>.*\.js</Item> <Item>.*\.png</Item> <Item>.*\.jpg</Item> <Item>.*\.gif</Item> </Array> </Set> --> <Set name="referrerPushPeriod">5000</Set> <Set name="maxAssociatedResources">32</Set> </New> <!-- =========================================================== --> <!-- Add a SPDY/HTTPS Connector. --> <!-- Configure an o.e.j.server.ServerConnector with connection --> <!-- factories for TLS (aka SSL), NPN, SPDY and HTTP to provide --> <!-- a connector that can accept HTTPS or SPDY connections. --> <!-- --> <!-- All accepted TLS connections are initially wired to a NPN --> <!-- connection, which attempts to use a TLS extension to --> <!-- negotiation the protocol. If NPN is not supported by --> <!-- the client, then the NPN connection is replaced by a HTTP --> <!-- connection. If a specific protocol version (eg spdy/3) is --> <!-- negotiated by NPN, then the appropriate connection factory --> <!-- is used to create a connection to replace the NPN connection--> <!-- --> <!-- The final result is a SPDY or HTTP connection wired behind --> <!-- a TLS (aka SSL) connection. --> <!-- --> <!-- Consult the javadoc of o.e.j.server.ServerConnector and the --> <!-- specific connection factory types for all configuration --> <!-- that may be set here. --> <!-- =========================================================== --> <Call id="spdyConnector" name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.ServerConnector"> <Arg name="server"> <Ref refid="Server"/> </Arg> <Arg name="factories"> <Array type="org.eclipse.jetty.server.ConnectionFactory"> <!-- SSL Connection factory with NPN as next protocol --> <Item> <New class="org.eclipse.jetty.server.SslConnectionFactory"> <Arg name="next">npn</Arg> <Arg name="sslContextFactory"> <Ref refid="sslContextFactory"/> </Arg> </New> </Item> <!-- NPN Connection factory with HTTP as default protocol --> <Item> <New class="org.eclipse.jetty.spdy.server.NPNServerConnectionFactory"> <Arg name="protocols"> <Array type="String"> <Item>spdy/3</Item> <Item>spdy/2</Item> <Item>http/1.1</Item> </Array> </Arg> <Set name="defaultProtocol">http/1.1</Set> </New> </Item> <!-- SPDY/3 Connection factory --> <Item> <New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory"> <Arg name="version" type="int">3</Arg> <Arg name="config"> <Ref refid="sslHttpConfig"/> </Arg> <!-- Set the initial window size for this SPDY connector. --> <!-- See: http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3#TOC-2.6.8-WINDOW_UPDATE --> <Set name="initialWindowSize"><Property name="spdy.initialWindowSize" default="65536"/></Set> <!-- Uncomment to enable ReferrerPushStrategy --> <!--<Arg name="pushStrategy"><Ref refid="pushStrategy"/></Arg>--> </New> </Item> <!-- SPDY/2 Connection factory --> <Item> <New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory"> <Arg name="version" type="int">2</Arg> <Arg name="config"> <Ref refid="sslHttpConfig"/> </Arg> <!-- Set the initial window size for this SPDY connector. --> <!-- See: http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3#TOC-2.6.8-WINDOW_UPDATE --> <Set name="initialWindowSize"><Property name="spdy.initialWindowSize" default="65536"/></Set> </New> </Item> <!-- HTTP Connection factory --> <Item> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> <Arg name="config"> <Ref refid="sslHttpConfig"/> </Arg> </New> </Item> </Array> </Arg> <Set name="host"><Property name="jetty.host"/></Set> <Set name="port"><Property name="spdy.port" default="443"/></Set> <Set name="idleTimeout"><Property name="spdy.timeout" default="30000"/></Set> </New> </Arg> </Call> </Configure>