web-dev-qa-db-fra.com

Échec du proxy de mise en cache NGINX avec SSL23_GET_SERVER_HELLO: échec de la négociation de l'alerte sslv3

NGINX agissant comme un proxy de mise en cache rencontre des problèmes lors de la récupération de contenu à partir du serveur CloudFront via HTTPS:

Voici l'extrait du journal des erreurs de NGINX:

2014/08/14 16:08:26 [erreur] 27534 # 0: * 11560993 SSL_do_handshake () a échoué (SSL: erreur: 14077410: routines SSL: SSL23_GET_SERVER_HELLO: échec de la prise de contact d'alerte sslv3) pendant la négociation SSL en amont, client: 82.33. 49.135, serveur: localhost, demande: "GET /static/images/media-logos/best.png HTTP/1.1", en amont: " https: // xxxx: 443/static/images/media-logos/best.png ",

J'ai essayé différents paramètres de proxy comme proxy_ssl_protocols et proxy_ssl_ciphers mais aucune combinaison n'a fonctionné.

Des idées?

33
Mohammad Haque

J'ai eu exactement le même problème et j'ai passé quelques heures ... Je suppose que vous utilisez une ancienne version de nginx (inférieure à 1,7)? Dans nginx 1.7, vous pouvez utiliser cette directive :

proxy_ssl_server_name on;

Cela forcera nginx à utiliser SNI En outre, vous devez définir les protocoles SSL:

proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Pour les versions antérieures, vous pourrez peut-être utiliser ce correctif (mais je ne peux pas vérifier que cela fonctionne):

http://trac.nginx.org/nginx/ticket/229

71
Nikolay Dimitrov