web-dev-qa-db-fra.com

Comment accéder en externe à l'interface utilisateur du consul

Comment puis-je accéder à l'interface utilisateur du consul en externe?

Je veux accéder à l'écriture de l'interface utilisateur du consul

<ANY_MASTER_OR_SLAVE_NODE_IP>:8500

J'ai essayé de faire un tunnel ssh pour accéder: ssh -N -f -L 8500: localhost: 8500 [email protected]

Ensuite, si j'accède http: // localhost: 85 Cela fonctionne, mais ce n'est pas ce que je veux. J'ai besoin d'accéder en externe, sans tunnel ssh.

Mon fichier config.json est le suivant:

{
"bind_addr":"172.16.8.216",
"server": false,
"datacenter": "nyc2",
"data_dir": "/var/consul",
"ui_dir": "/home/ikerlan/dist",
"log_level": "INFO",
"enable_syslog": true,
"start_join": ["172.16.8.211","172.16.8.212","172.16.8.213"]
}

De l'aide? Merci

20
Asier Gomez

Ajouter

{
  "client_addr": "0.0.0.0"
}

à votre configuration ou ajoutez l'option -client 0.0.0.0 à la ligne de commande du consul pour rendre votre interface utilisateur Web accessible de l'extérieur ( voir la documentation pour plus d'informations ).

Veuillez noter que cela rendra également votre Consul REST API accessible de l'extérieur. Selon votre environnement, vous voudrez peut-être activer les ACL de Consul pour restreindre l'accès.

39
ahus1

Vous pouvez utiliser socat dans ce cas.

socat -d -d TCP-L: 8500, bind = 172.16.93.128, fork TCP: localhost: 8500 &

où 172.16.93.12 est mon IP.

4
nhanpt

Je n'ai pas encore d'expérience pratique avec Consul, mais voici quelques conseils:

  • Courir Sudo netstat -peanut | grep :8500 et vérifiez si Consul est lié à 0.0.0.0 ou à une adresse IP explicite. Devrait vérifier les documents si cela est configurable.
  • Sur chaque nœud, installez Squid , Nginx ou tout autre logiciel pouvant agir comme proxy HTTP
2
NikoNyrh

Je l'exécute comme une image docker, j'ai donné

docker pull consul

docker run -p 8500:8500 consul

et je peux accéder au consul ui à http://<hostname>:8500/ui

2
Mohammed Rafeeq

Enfin je trouve la solution. Ajoutez au fichier de configuration avec l'adresse de liaison qui est l'IP de la machine et le client_addr qui est les hôtes qu'il écoute. J'utilise donc 0.0.0.0 pour écouter toutes les IP.

"bind_addr":"<machine-ip>",
"client_addr":"0.0.0.0",
2
Asier Gomez

Pas moyen d'obtenir l'interface utilisateur s'il n'y a pas d'interface utilisateur) L'interface utilisateur classique est une certaine pile d'environnement de bureau (x-term ....), donc avant d'obtenir, vous devez l'installer sur le nœud

0
AlexS