Erreur Nginx : peer closed connection in SSL handshake while SSL handshaking

Bonjour,

Aujourd’hui Nginx me donne l’erreur suivante, sachant que j’ai rien changé :
2017/08/07 15:27:26 [info] 3886#0: *2 peer closed connection in SSL handshake while SSL handshaking, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:26 [info] 3886#0: *3 peer closed connection in SSL handshake while SSL handshaking, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:26 [info] 3886#0: *4 peer closed connection in SSL handshake while SSL handshaking, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:26 [info] 3886#0: *5 peer closed connection in SSL handshake while SSL handshaking, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:27 [info] 3886#0: *6 client closed connection while waiting for request, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:27 [info] 3886#0: *8 peer closed connection in SSL handshake while SSL handshaking, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:27 [info] 3886#0: *7 client SSL certificate verify error: (10:certificate has expired) while reading client request headers, client: 41.142.28.165, server: school.actaerp.com, request: “GET / HTTP/1.1”, host: "school.actaerp.com"
2017/08/07 15:27:27 [info] 3886#0: *9 client closed connection while waiting for request, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:27 [info] 3886#0: *10 client closed connection while waiting for request, client: 41.142.28.165, server: 0.0.0.0:443
2017/08/07 15:27:27 [info] 3886#0: *11 client SSL certificate verify error: (10:certificate has expired) while reading client request headers, client: 41.142.28.165, server: school.actaerp.com, request: “GET /favicon.ico HTTP/1.1”, host: “school.actaerp.com”, referrer: "https://school.actaerp.com/

Merci pour votre aide,

Heuu et tu veux que l’on fasse quoi ?
Le message te dit qu’un client n’a pas terminé l’établissement de connexion SSL … que veux tu y faire ?

Merci pour votre réponse

Les clients n’arrivent plus à se connecter, ils reçoivent le message :
400 Bad Request

The SSL certificate error
nginx/1.6.2

Il n’y a ptet pas de rapport, mais lors de la migration vers Stretch, un bug ou une modification (me souviens plus) a été annoncé, concernant SSL.

Plus d’information:

access.log :

41.142.28.165 - - [07/Aug/2017:20:14:56 +0100] “GET / HTTP/1.1” 400 632 “-” "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
41.142.28.165 - - [07/Aug/2017:20:14:57 +0100] “GET /favicon.ico HTTP/1.1” 400 632 “https://school.actaerp.com/” "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
41.142.28.165 - - [07/Aug/2017:20:19:52 +0100] “GET / HTTP/1.1” 400 632 “-” "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
41.142.28.165 - - [07/Aug/2017:20:19:53 +0100] “GET / HTTP/1.1” 400 632 “-” "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
41.142.28.165 - - [07/Aug/2017:20:19:54 +0100] “GET /favicon.ico HTTP/1.1” 400 632 “https://school.actaerp.com/” “Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36”

#Config :
upstream school {
server 127.0.0.1:6666 weight=1 fail_timeout=0;
}

upstream school-im {
server 127.0.0.1:8672 weight=1 fail_timeout=0;
}

http redirects to https

server {
listen 80;
server_name school.actaerp.com;

Strict Transport Security

#add_header Strict-Transport-Security max-age=2592000;
rewrite ^/.*$ https://$host$request_uri? permanent;
}
#Ajouter par e-acta : optimisation
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;

server {
#server port and name
listen 443;
server_name school.actaerp.com;

access_log /var/log/nginx/school.access.log;
error_log /var/log/nginx/school.error.log;

Specifies the maximum accepted body size of a client request,

as indicated by the request header Content-Length.

client_max_body_size 200m;

add ssl specific settings

keepalive_timeout 60;
ssl on;
ssl_certificate /etc/ssl/nginx/school_server.crt;
ssl_certificate_key /etc/ssl/nginx/school_server.key;
ssl_client_certificate /etc/ssl/nginx/school_ca.pem;
ssl_verify_client on;

limit ciphers

ssl_ciphers HIGH:!ADH:!MD5;
ssl_protocols SSLv3 TLSv1;
ssl_prefer_server_ciphers on;

increase proxy buffer to handle some OpenERP web requests

proxy_buffers 16 64k;
proxy_buffer_size 128k;

#general proxy settings

force timeouts if the backend dies

proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

set headers

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

Let the OpenERP web service know that we’re using HTTPS, otherwise

it will generate URL using http:// and not https://

proxy_set_header X-Forwarded-Proto https;

by default, do not forward anything

proxy_redirect off;
proxy_buffering off;

location / {
proxy_pass http://school;
}

location /longpolling {
proxy_pass http://school-im;
}
location /longpolling {
proxy_pass http://school-im;
}

cache some static data in memory for 60mins.

under heavy load this should relieve stress on the OpenERP web interface a bit.

location /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://school;
}
}

Essai déjà de check ton SSL :wink: il devrait être bon mais il est pas pris en compte on dirait pour ce domaine.

De plus le ssl V3 est obsolète je serais toi je referais au propre la conf avec un certificat propre ;)[quote=“belallioui, post:5, topic:74129”]
limit ciphers

ssl_ciphers HIGH:!ADH:!MD5;ssl_protocols SSLv3 TLSv1;ssl_prefer_server_ciphers on;
[/quote]

De plus le ssl V3 est obsolète je serais toi je referais au propre la conf avec un certificat propre :wink:

svp, que veux dire certificat propre ? et comment faire ceci ?

Essai déjà de check ton SSL :wink: il devrait être bon mais il est pas pris en compte on dirait pour ce domaine.

y a-t-i moyen pour vérifier et savoir l’information erronée, sachant que le mêm certificat était opérationnel depuis plus au moins un mois ?

Merci

En premier lieu vérifie la chaîne de connexion, il semble que tu redirige sur du https et que tu utilise un proxy, le serveur web est-il en SNI ? si oui regarde cet article : https://www.robertkehoe.com/2016/07/nginx-proxy-pass-resolving-no-required-ssl-certificate-was-sent/

Pour ce qui est de la bonne configuration du SSL je te laisse parcourir la toile, tu utilise actuellement la ssl V3 qui est déprécié, un grand nombre de cyphers le sont mais toujours actifs dans les anciennes versions de Openssl.

Essai déjà de mettre à jour et vérifie que les cyphers jugés désormais comme dépréciés soit commenté dans la configuration.

Je n’utilise aucun proxy, j’ai mis la redirection :
rewrite ^/.*$ https://$host$request_uri? permanent;
juste pour empêcher l’accès au site via http, apparemment c’est pas la bonne solution ?

J’ai compris de votre mail et de la toile que je doit utiliser TLS, et je suis entrain de chercher un tutoriel sous debian 8. si vous pouvez m’aider dans ce sens ?

Merci

J’ai commenté ces ligne :

  • rewrite ^/.*$ https://$host$request_uri? permanent;
  • ssl_ciphers HIGH:!ADH:!MD5;
  • ssl_protocols SSLv3 TLSv1;
  • ssl_prefer_server_ciphers on;
    Les trois derniers sont déjà définies dans le fichier nginx.conf et sans sslv3

Le message d’erreur est changé :
400 Bad Request

No required SSL certificate was sent
nginx/1.6.2

Bonjour,

Une information peut-être en rapport avec le problème rencontré :

OpenSSL disables TLS 1.0 and 1.1

Il ne reste plus que TLS 1.2 pour faire du SSL/TLS.

Merci

Pas de résultat :wink: