web-dev-qa-db-fra.com

ssl_error_rx_record_too_long et Apache SSL

Un client tente d'accéder à l'un de mes sites et continue à recevoir l'erreur suivante> ssl_error_rx_record_too_long

Ils obtiennent cette erreur sur tous les navigateurs, toutes les plateformes. Je ne peux pas reproduire le problème du tout.

Mon serveur et moi-même sommes situés aux États-Unis, le client est situé en Inde.

J'ai googlé sur le problème, et la source principale semble être que le port SSL parle en HTTP. J'ai vérifié mon serveur, et cela ne se produit pas. J'ai essayé la solution mentionnée ici , mais le client a indiqué qu'il ne réglait pas le problème.

Quelqu'un peut-il me dire comment résoudre ce problème ou comment le reproduire ???

LA SOLUTION

Il s'avère que le client avait un proxy local mal configuré!

J'espère que cela aidera tous ceux qui trouveront cette question à essayer de la résoudre à l'avenir.

229
Subimage

Le lien mentionné par Subimage était exact pour moi. Il a suggéré de changer la balise d'hôte virtuel, c'est-à-dire de <VirtualHost myserver.example.com:443> à <VirtualHost _default_:443>

Code d'erreur: ssl_error_rx_record_too_long

Cela signifie généralement que la mise en œuvre de SSL sur votre serveur est incorrecte. L'erreur est généralement causée par un problème côté serveur sur lequel l'administrateur du serveur devra enquêter.

Nous recommandons d’essayer ci-dessous.

  • Assurez-vous que le port 443 est ouvert et activé sur votre serveur. C'est le port standard pour les communications https.

  • Si SSL utilise un port non standard, FireFox 3 peut parfois générer cette erreur. Assurez-vous que SSL est exécuté sur le port 443.

  • Si vous utilisez Apache2, vérifiez que vous utilisez le port 443 pour SSL. Cela peut être fait en définissant le fichier ports.conf comme suit

    Listen 80
    Listen 443 https
    
  • Assurez-vous de ne pas avoir plus d'un certificat SSL partageant la même adresse IP. Assurez-vous que tous les certificats SSL utilisent leur propre adresse IP dédiée.

  • Si vous utilisez Apache2, vérifiez votre configuration vhost. Certains utilisateurs ont signalé que le changement de <VirtualHost> en _default_ avait résolu l'erreur.

Cela a résolu mon problème. Il est rare que je recherche un message d'erreur sur Google et que je reçoive le premier coup avec la bonne réponse! :-)

En plus de ce qui précède , voici d'autres solutions que d'autres personnes ont trouvées à l'origine du problème:

  • Assurez-vous que votre certificat SSL n'a pas expiré

  • Essayez de spécifier le chiffre:

    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3

156
Randall

La solution pour moi était que default-ssl n'était pas activé dans Apache 2…. Je ne faisais que mettre SSLEngine On

Je devais exécuter a2ensite default-ssl et tout a fonctionné.

112
Webnet

Dans mon cas, j'ai dû redéfinir <VirtualHost *> sur <VirtualHost *: 80> (la valeur par défaut sous Ubuntu). Sinon, le port 443 n'utilisait pas SSL et renvoyait du code HTML au navigateur.

Vous pouvez vérifier si c'est votre cas assez facilement: connectez-vous simplement à votre serveur http://www.example.com:44 . Si vous voyez du HTML pur, votre Apache n'utilise pas du tout SSL sur le port 443, probablement à cause d'une mauvaise configuration de VirtualHost.

À votre santé!

32
alexm

Dans mon cas, j'avais oublié de définir SSLEngine On dans la configuration. Ainsi,

<VirtualHost _default_:443>
  SSLEngine On
  ...
</VirtualHost>

http://httpd.Apache.org/docs/2.2/mod/mod_ssl.html#sslengine

19
Christian Davén

Si vous rencontrez l'erreur après la configuration d'un nouveau https vhost et que la configuration semble être correcte, n'oubliez pas de créer un lien dans sites-enabled également.

8
drillingman

Vieille question, mais premier résultat dans Google pour moi, alors voici ce que je devais faire.

Ubuntu 12.04 Desktop avec Apache installé

Toute la configuration et mod_ssl ont été installés lors de l'installation d'Apache, mais ils n'étaient pas encore liés aux bons endroits. Remarque: tous les chemins ci-dessous sont relatifs à /etc/Apache2/

mod_ssl est stocké dans ./mods-available et la configuration du site SSL est dans ./sites-available, il vous suffit de les lier aux emplacements appropriés dans ./mods-enabled et ./sites-enabled

cd /etc/Apache2
cd ./mods-enabled
Sudo ln -s ../mods-available/ssl.* ./
cd ../sites-enabled
Sudo ln -s ../sites-available/default-ssl ./

Redémarrez Apache et cela devrait fonctionner. J'essayais d'accéder à https: // localhost , vos résultats peuvent donc varier en ce qui concerne l'accès externe, mais cela a fonctionné pour moi.

7
Tarka

Demandez à l'utilisateur l'adresse exacte qu'il utilise dans son navigateur. S'ils entrent dans https://votre.site:8 , ils risquent de recevoir l'erreur ssl_error_rx_record_too_long.

4
dan-manges

Dans mon cas, j'avais une mauvaise adresse IP dans le fichier hôte virtuel. L'écoute était 443, et la strophe était <VirtualHost 192.168.0.1:443> mais le serveur n'avait pas l'adresse 192.168.0.1!

4
fimbulvetr

S'il vous plaît voir ce lien .

J'ai regardé dans tous mes fichiers journaux Apache jusqu'à ce que je trouve l'erreur réelle (j'avais changé le <VirtualHost> de _default_ à mon fqdn). Quand j'ai corrigé cette erreur, tout a bien fonctionné.

3
rogovsky

Dans mon cas, le problème était que https ne pouvait pas démarrer correctement, car Listen 443 se trouvait dans la dérivation "IfDefine SSL", mais mon Apache n'a pas démarré avec l'option -DSSL. Le correctif était de changer mon script apachectl en:

$HTTPD -k $ARGV

à:

$HTTPD -k $ARGV -DSSL

J'espère que ça aide quelqu'un.

2
Pushnov Iliya

J'ai eu une config hôte virtuel foiré. N'oubliez pas que vous avez besoin d'un hôte virtuel sans SSL pour le port 80 et d'un autre avec SSL pour le port 443. Vous ne pouvez pas avoir les deux dans un hôte virtuel, comme le tentait la configuration générée par webmin.

1
Sven

Mon problème était dû à un bas MTU sur une connexion VPN.

netsh interface ipv4 show inter

Idx  Met   MTU   State        Name
---  ---  -----  -----------  -------------------
  1 4275 4294967295  connected    Loopback Pseudo-Interface 1
 10 4250   **1300**  connected    Wireless Network Connection
 31   25   1400  connected    Remote Access to XYZ Network

Corrigé: l'interface netsh ipv4 a défini l'interface "Connexion réseau sans fil" mtu = 14

Cela peut également être un problème sur une connexion non-VPN ...

1
Chris

Pour moi, la solution a été que mon client client ne fonctionnait pas correctement ...

0
Anon

J'ai eu le même problème dans certains navigateurs pour accéder à mon site SSL. J'ai trouvé que je devais donner à FireFox le bon proxy (FireFox accédait directement à Internet).

En fonction de la configuration du réseau local (tunneling, filtrage, redirection du proxy), le mode "accès direct à Internet" pour FireFox renvoie cette erreur.

Vous pouvez également essayer de réparer le fichier hosts.

Conservez le fichier vhost avec le domaine pleinement qualifié et ajoutez le nom d'hôte dans le fichier hosts / etc/hosts (debian)

ip.ip.ip.ip name name.domain.com

Après avoir redémarré Apache2, l'erreur devrait disparaître.

0
gaspard