Как включить http2 с использованием весенней загрузки и tomcat без настройки SSL - PullRequest
0 голосов
/ 31 января 2019

Я включил HTTP 2.0 в Spring boot 2.1.2 и Tomcat с SSL, используя приведенную ниже конфигурацию в файле application.property -

server.port=8443
server.http2.enabled=true
security.require-ssl=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:.keystore
server.ssl.key-store-password=xxxxxx
erver.ssl.key-alias=test

Работает нормально, я вижу, что версия http печатается как«HTTP / 2.0», а также в Chrome DevTool - это показывает h2.НО при отключении SSL версия http превращается в 1.1.

Поддерживается ли http 2.0 без SSL (https).Если поддерживает, как настроить?

1 Ответ

0 голосов
/ 31 января 2019

Браузеры поддерживают только HTTP / 2 через SSL / TLS .Это связано как с практическими, так и с идеологическими причинами.

С практической стороны, упаковка пакетов в HTTPS значительно снижает вероятность того, что инфраструктура, не поддерживающая HTTP / 2, не справится с новым протоколом.Microsoft была единственным браузером, который сказал, что они разрешат незашифрованный HTTP / 2, но даже не сделали этого (по-видимому, увидев ошибки соединения).HTTP / 2 также может быть согласован как часть рукопожатия TLS, которое экономит время при обновлении до HTTP / 2.

С идеологической точки зрения существует признание того, что весь веб-трафик должен быть зашифрован в целях безопасности и конфиденциальности, и поэтомубраузеры поощряют использование HTTPS (или, если быть более точным, они препятствуют простому использованию HTTP), но ограничивают доступ к некоторым новым функциям, таким как HTTP / 2, только для подключений HTTPS.

Даже если браузеры поддерживают только HTTP / 2 через HTTPSсам протокол не требует этого.Это позволяет использовать HTTP / 2 для внутренних подключений, например, если вы завершаете HTTPS на пограничном узле.Идея в том, что вы в большей степени контролируете этот трафик, чем в открытом Интернете, через который обычно работает браузер.Таким образом, вы можете проверить свои настройки с помощью curl, например, чтобы проверить, работает ли незашифрованный HTTP / 2 (при условии, что у вас есть последняя версия curl с этой поддержкой):

curl --http2-prior-knowledge -v http://www.example.com

Хотя полезность этого теста спорнаесли вы хотите это для доступа через браузер.

...