Échec de Handshake SSL random

Je vois des erreurs de rétention de mains SSL étranges du côté client. Nous disposons d'une application web js personnalisée accessible aux browsers avec Webkit plus ancien (comme dans Epiphany). Toutes les requests provenant du client sont effectuées à partir du même browser (version et type).

Voici les symptômes:

a.) le browser du client affiche l'échec SSL Handshake:

  • Si la page Web est rechargée, l'erreur rest
  • Si la session du browser est tuée et que la nouvelle session est chargée, l'erreur disparaît

b.) Aucune erreur SSL n'est trouvée dans l'erreur nginx, syslog ou openssl log

c.) Dans tcp dump, je vois quelques étranges erreurs occasionnelles SSL Handshake:

  • Liste de l'élément Mauvaise réponse au statut du certificate
  • Pas de certificate
  • Erreur interne

d.) nous utilisons Let's encrypt SSL certificatees

e.) nginx.conf:

  • ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Suppression de SSLv3, ref: POODLE
  • ssl_prefer_server_ciphers on;

  • nginx sert de proxy qui redirige tout le trafic http vers https

  • activé par les sites:

server {

listn 80; server_name srv_name; return 301 https://$host$request_uri; 

}

server {

  listn 443; server_name srv_name; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; ssl on; ssl_certificatee fullchain.pem_path; ssl_certificatee_key privkey.pem_path; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; location /robots.txt { alias /opt/robots.txt; } location /.well-known/ { alias /usr/share/nginx/html/.well-known/; } location / { proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_pass http://localhost:8000/; break; } 

}

f.) Flux de base:

  • Le browser client ouvre http url et obtient 301 redirection vers https
  • L'application js effectue des appels ajax périodiques (je soupçonne que ces appels échouent de manière random en raison d'une panne de saisie de protocole SSL car le code de réponse HTTP est égal à 0)
  • Si l'appel ajax renvoie le code de réponse HTTP 0, la page est rechargée (location.reload ()), ce qui entraîne généralement un message d'échec de protocole SSL dans le browser client.

g.) Les choses ont commencé à se produire après la migration vers de nouveaux servers (à partir de Ubuntu 14.04 lts (openssl 1.0.1f 6 janv. 2014) vers Ubuntu 16.04 lts (1.0.2g 1 mars 2016) La version de l'application et du browser client est restée la même.

Avez-vous des idées à regarder ensuite? Pourquoi cela n'arrive-t-il pas toujours lorsque le client ouvre l'url, mais très sporadiquement.