Vous devez ajouter le HTTP 2 mise à jour du protocole de Tomcat du connecteur. Vous pouvez le faire par la personnalisation de l'embedded conteneur Tomcat:
Est-il autre chose qui doit être fait en dehors de l'exécution de Tomcat avec https? (J'ai fait de l'activer pour le localhost par la suite de cette question stackoverflow.com/questions/30404579/...). Mais dans google Chrome, réseau débogueur je vois, tout est encore servi via http/1.1 h2c fonctionnera mais pas beaucoup (tout?) les navigateurs prennent en charge. Si vous souhaitez travailler en toute sécurité (h2), vous aurez besoin de sauter à travers des cerceaux avec Tomcat Natif. Donc, fondamentalement, votre exemple de code permis http2 sans ssl (h2c) qui n'navigateur prend en charge et le seront probablement jamais de soutien... Alors bien sûr, je voudrais travailler en toute sécurité. N'avez-vous pas "sauter à travers des cerceaux avec Tomcat Natif" encore ? 🙂 C'est une étrange façon de demander de l'aide. Je me suis fait ici. Juste pour ajouter que Tomcat 9 prend en charge HTTP2 avec un peu de configuration dans le server.xml fichier. readlearncode.com/configure-tomcat-9-for-http2
Ensuite, vous devez utiliser HAProxy(version >= 1.7) en face de Tomcat pour prendre soin de chiffrement.
Le client va parler de https pour HAProxy, et HAProxy prendra la parole en texte clair HTTP/1.1 ou HTTP/2 à l'arrière-plan, comme le client a demandé.
Il n'y aura pas inutile protocole de traductions.
La correspondance de HAProxy-la configuration est ici:
Est-il un moyen de ne pas utiliser de HAproxy? Printemps et de démarrage de tomcat ne pouvait pas juste gérer encription et la mise à niveau? Suivez ce lien readlearncode.com/configure-tomcat-9-for-http2 posté par Alex-dessus. J'avais l'intention de l'utiliser avec tomcat intégré du printemps, qui est de 8,5. Je pense que je vais essayer de Ressac il est censé avoir un soutien pour http2 Tomcat intégré ne prend également en charge http2, et ssl peut être configuré comme ceci: docs.printemps.io/spring-boot/docs/current/reference/html/.... Si vous le faites, et ajouter le connecteur.addUpgradeProtocol(nouveau Http2Protocol()); je pense qu'il doit travailler. Avez-vous la source tomcat intégré (8.5) le soutien de http2? J'ai lu quelque chose à propos de native tomcat. Je n'ai pas été en mesure de configurer tomcat encore.
Intéressant de noter que le Printemps Boot 2.0.x utilise Tomcat 8.5, donc si vous utilisez Tomcat intégré, vous avez encore besoin de configurer le chemin d'accès à libtcnative comme indiqué dans le Printemps de Démarrage docs. Spring Boot 2.1.x sera livré avec Tomcat 9.
Vous devez ajouter le HTTP 2 mise à jour du protocole de Tomcat du connecteur. Vous pouvez le faire par la personnalisation de l'embedded conteneur Tomcat:
Java 8:
Java 7:
h2c
fonctionnera mais pas beaucoup (tout?) les navigateurs prennent en charge. Si vous souhaitez travailler en toute sécurité (h2
), vous aurez besoin de sauter à travers des cerceaux avec Tomcat Natif.Donc, fondamentalement, votre exemple de code permis http2 sans ssl (h2c) qui n'navigateur prend en charge et le seront probablement jamais de soutien... Alors bien sûr, je voudrais travailler en toute sécurité. N'avez-vous pas "sauter à travers des cerceaux avec Tomcat Natif" encore ? 🙂
C'est une étrange façon de demander de l'aide. Je me suis fait ici.
Juste pour ajouter que Tomcat 9 prend en charge HTTP2 avec un peu de configuration dans le server.xml fichier. readlearncode.com/configure-tomcat-9-for-http2
OriginalL'auteur
Les plus élégantes et les plus performants pour permettre
HTTP/2
avec un Ressort de Démarrage de l'application suit ici.Tout d'abord, comme mentionné dans Andy Wilkinson réponse, vous devez activer HTTP/2 à Tomcat niveau:
Dans le cas où vous n'êtes pas à l'aide d'un Tomcat intégré, vous pouvez configurer le protocole HTTP/2 écoute comme ceci:
Oubliez pas que vous devez Tomcat >= 8.5.
Ensuite, vous devez utiliser
HAProxy
(version >= 1.7) en face de Tomcat pour prendre soin de chiffrement.Le client va parler de https pour HAProxy, et HAProxy prendra la parole en texte clair HTTP/1.1 ou HTTP/2 à l'arrière-plan, comme le client a demandé.
Il n'y aura pas inutile protocole de traductions.
La correspondance de HAProxy-la configuration est ici:
Suivez ce lien readlearncode.com/configure-tomcat-9-for-http2 posté par Alex-dessus.
J'avais l'intention de l'utiliser avec tomcat intégré du printemps, qui est de 8,5. Je pense que je vais essayer de Ressac il est censé avoir un soutien pour http2
Tomcat intégré ne prend également en charge http2, et ssl peut être configuré comme ceci: docs.printemps.io/spring-boot/docs/current/reference/html/.... Si vous le faites, et ajouter le connecteur.addUpgradeProtocol(nouveau Http2Protocol()); je pense qu'il doit travailler.
Avez-vous la source tomcat intégré (8.5) le soutien de http2? J'ai lu quelque chose à propos de native tomcat. Je n'ai pas été en mesure de configurer tomcat encore.
OriginalL'auteur
Au Printemps de Démarrage 2.1 c'est aussi simple que l'ajout de cette propriété pour votre .propriétés (ou .yml) fichier:
Vous pouvez aussi le faire par programme comme ceci (dans l'une de vos classes de configuration):
OriginalL'auteur
Au Printemps de Démarrage 2 vous avez d'abord besoin d'un certificat - il peut par générés comme ceci:
Que vous avez juste besoin d'ajouter ce certificat de chemin de classe et d'ajouter des propriétés nécessaires à l'application.propriétés:
libtcnative
comme indiqué dans le Printemps de Démarrage docs. Spring Boot 2.1.x sera livré avec Tomcat 9.OriginalL'auteur