2016-12-21 2 views
0

J'ai une application Java 8 utilisant Embedded Jetty 9.3.11 qui veut écouter les connexions https seulement sur un port (TCP/443). Cependant, lorsqu'un client HTTP clair connecte le navigateur, il finit par télécharger un petit fichier de 7 octets. Voici ce od sorties du fichier:Embedded Jetty répond à clear http sur le port 443

$ od -t x1 download 
0000000 15 03 03 00 02 02 50 
0000007 

Il est nécessaire de ne pas répondre à effacer du texte HTTP sur TLS uniquement le port 443. Fait intéressant, la jetée 9.1.3 ne se comporte pas de cette façon.

Mes questions sont les suivantes:

  1. Quel est ce fichier et quels autres effets secondaires pourraient être présents pour les requêtes HTTP texte clair sur mon port HTTPS seulement 443? Comment puis-je empêcher Jetty de répondre à l'effacement du HTTP de cette manière?

Merci d'avance.

Répondre

0

Les octets sont:

15 03 03 00 02 02 50 

où:

15 == TLS Alert Message Type 
03 03 == TLS Protocol version 1.2 
00 02 == TLS Frame length 
02 == Alert level Fatal 
50 == Internal Error 

On dirait une réponse normale TLS quand il ne peut pas comprendre le client non-TLS.

+0

Merci pour votre réponse. Savez-vous comment je peux désactiver cela? Je veux que le serveur n'ait pas de réponse aux clients clear-HTTP. – banal

+0

Impossible ATM. Le Java SSL/TLS Stack est trop compliqué avec la combinaison de TLS/1.2 + ALPN pour le moment. Nous espérons que lorsque Java 9 sera disponible, avec son support ALPN intégré, cela deviendra possible. –

+0

Parler TLS sur non-TLS est non-sensical. Pas très différent de démarrer un fax sur un appel vocal. Il semble que la pile TLS ait repris toutes les connexions qu'elle ne devrait pas avoir. Pourquoi ce trafic implique-t-il même la pile TLS? – banal