Erreur curl sur : https://market.jeedom.com/core/api/api.php. Détail :Empty reply from server

Oui, 12:51, dans log jeedom, ainsi que « Empty reply from server »

akenad :slight_smile:

Hello
Erreur sur 1 des 4 Jeedom et ok à la seconde tentative.

Hello @Loic ,

c’est votre serveur qui refuse les connexions car elles sont lancées en TLS1.0 (quand tu as l’erreur « Erreur curl sur : https://market.jeedom.com/core/api/api.php. Détail :OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to market.jeedom.com:443 »)

Sur celles négociées en TLSv1.2, il n’y a pas de soucis:

Super merci j’étais en train de regarder ca justement. Effectivement on autorise que le 1.2 et le 1.3. Question aux experts :

  • pour moi fallait mettre que ca les autres n’étant pas assez securisé ?
  • pourquoi l’erreur arrive que de temps en temps ?

pour https://market.jeedom.com
hier il n’y avait qu’une IP : 51.178.69.128 et fonctionnait :
TLS 1.2 uniquement
Suites crypto :
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

aujourd’hui il y en a 2 : 51.178.69.128 et 51.210.253.116

51.210.253.116
TLS 1.2 uniquement
Suites crypto :
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

51.178.69.128
=> a un problème de conf
https://www.ssllabs.com/ssltest/analyze.html?d=market.jeedom.com&s=51.178.69.128

curl -v -H -GET https://market.jeedom.com

si on est LB sur 51.178.69.128
=> OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to market.jeedom.com:443

si on est LB sur 51.210.253.116
c’est OK.

d’ou mes questions hier pour connaitre la technique de répartition https utilisé (round robin, LB versus nginx) !

akenad :slight_smile:

Alors en curl, il tente de négocier en TLS1.3. Et tu as l’erreur.
Ca doit pas être lié au TLSV1.0, c’est juste wireshark qui doit interpréter bizarrement.

  • Trying 51.178.69.128…
  • TCP_NODELAY set
  • Expire in 149998 ms for 3 (transfer 0x1cb58a0)
  • Expire in 200 ms for 4 (transfer 0x1cb58a0)
  • Connected to market.jeedom.com (51.178.69.128) port 443 (#0)
  • ALPN, offering h2
  • ALPN, offering http/1.1
  • successfully set certificate verify locations:
  • CAfile: none
    CApath: /etc/ssl/certs
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to market.jeedom.com:443
  • Closing connection 0
    curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to market.jeedom.com:443

En fait je vois que vous avez 2 serveurs. Sur un, la renego est OK et sur l’autre non (51.178.69.128).

Tu as répondu avant, je viens de voir ^^

Sinon oui @Loic , il ne faut mettre que du TLS1.2 et 1.3.

L’ANSSI a fait un très bon guide à ce sujet: https://www.ssi.gouv.fr/uploads/2017/07/anssi-guide-recommandations_de_securite_relatives_a_tls-v1.2.pdf

Vous pouvez utiliser le site de Qualys cité par @akenad pour contrôler l’installation de vos frontaux :slight_smile: (en pensant à ne pas rendre publique le score en cochant la petite case).

Ok je vois pas trop ya aucune difference de mon coté sur les 2 loadbalancer surtout que celui qui merde laisse parfois passer des connexion…

tu m’as dis hier que les terminaisons SSL étaient sur les nginx.
pour la conf SSL nginx : https://wiki.mozilla.org/Security/Server_Side_TLS
et https://ssl-config.mozilla.org

akenad :slight_smile:

Si si mais ya
2LB → 4 nginx
C’est les meme nginx pour les 2LB donc hormis la declaration du LB lui meme ensuite c’est pareil

les LB dont tu parles sont bien 51.178.69.128 et 51.210.253.116 ?
ce serait moi, je comparerais aussi la conf SSL des 4 nginx.

akenad :slight_smile:

Oui oui en faite c’est un peu particulier on pourrait tourner que avec un LB (c’est son job) mais on a preferé doublé (au cas ou l’un des 2 merde) et laisser la resolution DNS la repartition

Tu as un problème avec les Ciphers proposés:

image

Ta conf ne doit pas être correctement appliquée.

Tout à l’heure il n’y avait que du TLS 1.3 de proposé avec 1 cipher. Maintenant que du TLS1.2 avec 1 seul.

Ca c’est les nginx qui gerent et c’est les meme sur les 2 loadbalancer c’est la que je comprend pas.

Tu as vérifié les logs error des frontaux ?

Par contre qu’avais tu touché pour mettre que le TLS1.3 ?
Donc là si tu fais un diff ligne par ligne des 2 frontaux, tu es identique ?

Tu as vérifié à la fois dans le nginx.conf et sur votre config du virtualhost dans le site-available/ ? Tu aurais pas ta conf qui est réécrasée par l’une des 2 ? (la config du virtualhost étant de souvenir prioritaire)

C’est tout bon, touche plus à rien ^^

Et je confirme, plus d’erreur dans le market :slight_smile:

Les 2 LB sont maintenant OK (TLS 1.2 et TLS 1.3 activés uniquement)

https://www.ssllabs.com/ssltest/analyze.html?d=market.jeedom.com&hideResults=on

akenad :slight_smile:

1 « J'aime »

C’est pas moi c’est ovh qui a corrigé un soucis sur le load balancer mais oui la tout est ok et j’ai meme le TLS 1.3.

Merci beaucoup pour vos analyse c’est top et ma permis de (faire) corriger le soucis.

2 « J'aime »

Comme quoi une communauté qui participe et est constructive ça permet d’avancer plus vite et l’entraide fait gagner du temps à tous :wink:

Magie de Noel ?? Pourvu que ça dure !

C’est ça, quand les bonnes compétences sont réunies au même endroit et même moment, en général ça avance vite ^^