Endpoint BASIC_MERKLED_API sur port 443

DuniterPy détermine si la connexion est en https par le nom de l’API :

  • BASIC_MERKLED_API -> protocole http
  • BMAS -> protocole https

Les deux endpoints suivants posent donc des problèmes :

  • « BASIC_MERKLED_API ts.gt.elo.tf 443 »
  • « BASIC_MERKLED_API ts.gt.librelois.fr 443 »

Car cela déclenche l’utilisation du protocole http sur un port qui attend le protocole https uniquement.

    ValueError: status code != 200 => 400 (<html>
    <head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
    <body bgcolor="white">
    <center><h1>400 Bad Request</h1></center>
    <center>The plain HTTP request was sent to HTTPS port</center>
    <hr><center>nginx/1.14.2</center>
    </body>
    </html>
    )

@elois, peux-tu renommer la partie API de tes endpoints en BMAS ?

Il me semble avoir déjà eu ce problème. Mais ça n’est pas venu à l’idée que c’était la déclaration de l’API BMA qui été mal configuré. Je sais pas si ça fait sens que Duniter ne permette pas de déclarer BASIC_MERKLED_API avec le port 443.

Il faudrait surtout que Duniter génère automatiquement le bon endpoint, plutôt que de demander à l’utilisateur de le setter a la main, d’autant que c’est vraiment facile a faire dans le code, je croyais même que c’était déjà fait, mais en fait non.

Du coup plutôt que de modifier ma conf j’ai préféré maj le code : https://git.duniter.org/nodes/typescript/duniter/commit/e572326db42838bdeec5a86048f72c1d9369f3a6

Ca sera que pour la 1.8 mais mes noeuds g1-test sont basés sur dev de toute façon (ça me permet de tester, @Moul fait ça aussi je crois).

3 Likes

Je viens de restart mon noeud g1-test ts.gt.elo.tf et… It’s work :smiley:

https://ts.gt.elo.tf/network/peering

2 Likes