[Apache2] Résoudre « Code d’erreur : ssl_error_rx_record_too_long »

En essayant de paramétrer un site en SSL sur Lucid, j’ai obtenu cette erreur de la part de Firefox1. Erreur qui ne veut rien dire par elle même et une recherche sur le net ne vous donnera que peu de résultat au vu de la variété de réponses, parfois loufoques.

La première chose à faire est de vous assurer que le serveur réponde bien en HTTPS et non en HTTP, et de faire un GET:


telnet 82.XXX.XXX.XXX 443
Trying 82.XXX.XXX.XXX...
Connected to 82.XXX.XXX.XXX.
Escape character is '^]'.
GET /
<html>
<body>

<h1>It works !</h1>
<br />
</body>
</html>
Connection closed by foreign host.

Si vous obtenez du code html, comme c’est le cas ci dessus , au lieu d’une bouillie de caractères (ou de …rien), c’est que vous n’êtes pas en HTTPS mais en HTTP tout court.
Or, comme firefox s’attend à recevoir un certificat dont la longueur est faible, mais qu’il reçoit le code html complet d’une page, forcément il dit que c’est trop long.

Ce qui se trouve confirmé par la lecture du fichier /var/log/apache2/error.log:
[Sat Oct 09 14:40:18 2010] [error] [client 10.0.0.1] Invalid method in request \x16\x03
qui dit que la méthode d’accès n’est pas la bonne.

C’est pas très parlant, mais vu que j’ai galéré pour trouvé d’où venait le problème, j’essaye d’en faire profiter les autres.

Ah, au fait! Mon problème venait que dans la conf de mon virtualhost en SSL je mettais l’IP publique, vu que c’est le seul serveur en DMZ et que tout renvoie dessus. Je croyais le firewall transparent, vis à vis d’apache.
Je me trompais. Il faut mettre l’IP sur le réseau local, vu par la carte réseau elle même.
Après, ça va tout de suite mieux.

Articles en relation:

Notes:
  1. à noter qu’Opera donne un autre type d’erreur, mais que je ne l’ai pas notée (erreur fatale 550, si ma mémoire est bonne) []
  1. 3 février 2011 à 14:43:43 | #1

    Bonjour Manu,

    J’ai rencontré un message d’erreur identique lorsque j’ai souhaité redirigé le port 443 de mon accès Internet résidentiel vers mon serveur Web (interface de gestion de ma machinebox).

    https://www.nochea.net/content/sslerrorrxrecordtoolong

    Ma solution a été de positionner mon serveur en DMZ.

    Je vois que tu indiques qu’il faut modifier la configuration du Vhost pour mettre l’IP LAN.

    Je suis dans une configuration identique (Serveur Web en DMZ) et pourtant la seule partie de mon vhost qui reprenne cette information est du type :

    ServerName http://www.mondomaine.net

    Est-ce que tu pourrais me montrer à quoi ressemble ton Vhost SSL ?

    D’avance merci.

  2. 22 mai 2011 à 18:26:42 | #2

    Bonjour,

    J’avais aussi ce problème, mais il venait d’une ligne que j’avais oubliée au début de ma vHost :
    NameVirtualHost *:443

    Voilà, pour en faire profiter les internautes 🙂

  3. colihue
    31 août 2012 à 13:22:34 | #3

    Bonjour,

    j’ai le même problème que vous, mais sur tous les navigateurs (chrome, IE, mozilla) et ça fait trois jours que je galère. J’ai vérifié si SSL2 et 3 étaient coché, fait une restauration du système une semaine avant et toujours rien. J’ai même mis des noms de site https (https://google.com) dans mes sites de confiance et vérifié l’heure système mais rien n’y fait. Je ne m’y connais pas beaucoup en informatique, pourriez-vous m’exliquer de manière plus simple comment pouvoir me reconnecter à tous mes comptes?
    merci d’avance
    Ah et je suis sur windows 7 family premium. J’ai regardé mes certificats, celui de mon ordi à l’air bien, mais tous les autres pour les connexions à yahoo ou hotmail apparaissent comme untrusted, ou fraudulent…

  1. 10 octobre 2010 à 07:37:44 | #1

Anti-Spam Quiz:

antibot * Time limit is exhausted. Please reload the CAPTCHA.

52.91.185.49