L'erreur dit “mauvaise version”, il est donc tentant de commencer à changer de version de TLS. Avec un proxy, vérifiez une possibilité plus ancienne : le client a-t-il envoyé une poignée de main TLS à un port qui attendait du HTTP simple ?

Une destination comme https://example.com/ et un proxy comme http://proxy.example:8080 forment une paire ordinaire. Passer la seconde URL en HTTPS demande au client de chiffrer sa conversation avec le proxy lui-même. Ce n'est pas une consigne autorisant les sites HTTPS.

Localiser la première conversation TLS

Avec un proxy HTTP, le client peut d'abord envoyer CONNECT et recevoir une réponse HTTP. Ce n'est qu'ensuite qu'il démarre le TLS de destination dans le tunnel. Avec un proxy HTTPS, une connexion TLS distincte vers le proxy vient d'abord.

Un analyseur TLS qui reçoit une page d'erreur HTTP ou un autre texte en clair peut signaler une erreur de protocole. La formulation n'établit pas quelles versions de TLS le site prend en charge, ni même que le site ait été contacté.

  1. Notez l'URL du proxy, schéma compris, et le protocole documenté du point de terminaison.
  2. Déterminez si l'échec a eu lieu avant une réponse CONNECT, pendant le TLS de destination ou pendant la vérification du certificat du proxy lui-même.
  3. Vérifiez les versions réelles du client et des dépendances lorsque vous comparez un ancien contournement. Certaines implémentations de proxy antérieures traitaient un schéma différemment.

Plusieurs corrections peuvent être fausses pour des raisons différentes. La liste de proxys HTTP propose des candidats ordinaires de point de terminaison HTTP pour les requêtes publiques autorisées par cette voie. Un point de terminaison HTTP simple exige le schéma proxy HTTP ; un point de terminaison réellement compatible TLS devrait conserver HTTPS et la vérification de son certificat. Un proxy qui refuse CONNECT a besoin d'un service ou d'une politique pris en charge, pas d'une rétrogradation arbitraire de bibliothèque.

Gardez la première défaillance observable. Désactiver la vérification des certificats ne fera pas parler TLS à un écouteur purement HTTP, et choisir une ancienne politique de chiffrement n'explique pas un refus HTTP émis avant la poignée de main du site.

Articles similaires