El tutorial o código que encontrarás en este post es la resolución más sencilla y efectiva que encontramos a esta inquietud o problema.
Solución:
SSL23_GET_SERVER_HELLO: protocolo desconocido
Este error ocurre cuando OpenSSL recibe algo que no es un ServerHello
en una versión de protocolo que entiende desde el servidor. Puede suceder si el servidor responde con un HTTP simple (sin cifrar). También puede suceder si el servidor solo admite, por ejemplo, TLS 1.2 y el cliente no comprende esa versión del protocolo. Normalmente, los servidores son compatibles con versiones anteriores de al menos SSL 3.0/TLS 1.0, pero tal vez este servidor específico no lo sea (por implementación o configuración).
No está claro si intentó pasar --no-check-certificate
O no. Me sorprendería bastante si eso funcionara.
Una prueba simple es usar wget
(o un navegador) para solicitar http://example.com:443
(nota la http://
no https://
); si funciona, SSL no está habilitado en el puerto 443. Para seguir depurando esto, use openssl s_client
con el -debug
opción, que justo antes del mensaje de error vuelca los primeros bytes de la respuesta del servidor que OpenSSL no pudo analizar. Esto puede ayudar a identificar el problema, especialmente si el servidor no responde con un ServerHello
mensaje. Para ver qué espera exactamente OpenSSL, consulte la fuente: busque SSL_R_UNKNOWN_PROTOCOL
en ssl/s23_clnt.c
.
En cualquier caso, mirar el registro de errores de Apache también puede proporcionar una idea.
En mi caso no había habilitado el sitio ‘default-ssl’. Solo ‘000-predeterminado’ figuraba en el /etc/apache2/sites-enabled
carpeta.
Habilite el sitio SSL en Ubuntu 14 LTS, Apache 2.4.7:
a2ensite default-ssl
service apache2 reload
Solo una nota rapida (y posible causa).
Puedes tener una perfectamente correcta VirtualHost
configurar con _default_:443
etc. en su archivo .conf de Apache.
Pero… Si hay incluso un archivo .conf habilitado con una configuración incorrecta que también escucha el puerto 443, hará que todo el sistema SSL se caiga.
Por lo tanto, si está seguro de que su archivo .conf es correcto, intente deshabilitar los archivos .conf del otro sitio en sites-enabled
.
Acuérdate de que puedes optar por la opción de interpretar tu experiencia .