Bonjour,
j’utilise netdata pour avoir des stats temps réelles sur mon serveur.
celui-ci n’est accessible qu’en 127.0.0.1 sur le port 19999.
pour me connecter d’un autre poste, je passe par une URL ma_machine/netdata.
Comme sur cette machine plusieurs applications vont s’y trouver (zabbix, pmb, etc…), je veux pouvoir accéder à chacune de mes applications vie une URI correspondante:
/netdata
/zabbix
/pmb
…etc
j’ai donc commencé avec netdata.
Avec la conf suivante pour le frontend qui va lire le fichier de map:
frontend FE_Netdata
bind :80
use_backend %[path,map_beg(/etc/haproxy/maps/enedwaith.map,BE_Default)]
la conf pour le backend netdata:
option httpchk
http-check expect status 20
server netdata_local 127.0.0.1:19999 check
le fichier de map:
/netdata BE_Netdata
Quand je me connecte sur un navigateur avec: http://ma_machine/netdata
, j’arrive bien sur la page, mais malheureusement, l’url retournée par le backend, ne prend pas en compte le /netdata
de l’URI de la request originelle et me retourne l’url locale:
In extenso:
client: http://ma_machine:netdata
retour serveur http://ma_machine/uri_du_serveur_netdata
au lieu de http://ma_machine/netdata/uri_du_serveur_netdata
de plus HAproxy n’est pas sensé faire de la ré-écriture, le passage de http://127.0.0.1:19999/uri_netdata
vers http://ma_machine/netdata/uri_netdata
devrait se faire naturellement.
je soupçonne use_backend %[path,map_beg(/etc/haproxy/maps/enedwaith.map,BE_Default)]
d’être le problème.