Причал: возможно ли использовать SPDY/3.1?
Я запускаю сервер Jetty с использованием JDK 1.8 и ALPN, как описано в разделе: Как запустить Jetty с SPDY с использованием ALPN?
Есть строка:
ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory("spdy/3", "http/1.1");
а также:
HTTPSPDYServerConnectionFactory spdy = new HTTPSPDYServerConnectionFactory(SPDY.V3, httpConfig, push);
Но Chrome 40 использует только "spdy/3.1" и "http/1.1". С включенной отладкой ALPN это выглядит так:
[S] ALPN protocols [spdy/3.1, http/1.1] received from client for 1987cc45[SSLEngine[hostname=169.0.1.126 port=59439] SSL_NULL_WITH_NULL_NULL]
Переговоры заканчиваются http/1.1
, Поэтому я изменил эту строку на:
ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory("spdy/3.1", "http/1.1");
Это дает то, что spdy/3.1
выбрано:
[S] ALPN protocol 'spdy/3.1' selected for 1987cc45[SSLEngine[hostname=169.0.1.126 port=59439] SSL_NULL_WITH_NULL_NULL]
Но Chrome не получает ответ. Я не нашел никаких исключений на стороне сервера, но кажется, что Jetty не может работать с SPDY/3.1.
Может ли Jetty работать с SPDY/3.1? Как это установить?
Я использую JDK 1.8.0_31 и в начальной загрузке alpn-boot-8.1.3.v20150130.jar
,
1 ответ
Причал не поддерживает SPDY/3.1
только до SPDY/3
,
На самом деле, Jetty никогда не поддержит SPDY/3.1
,
SPDY и NPN были просто удалены из дерева кодов в следующем выпуске Jetty 9.3.0.