web-dev-qa-db-ja.com

外部からconsul UIにアクセスする方法

Consul UIに外部からアクセスするにはどうすればよいですか?

領事UI作成にアクセスしたい

<ANY_MASTER_OR_SLAVE_NODE_IP>:8500

アクセスするsshトンネルを試してみました:ssh -N -f -L 8500:localhost:8500 [email protected]

次に、 http:// localhost:85 にアクセスすると動作しますが、望んでいるものではありません。 sshトンネルなしで、外部からアクセスする必要があります。

私のconfig.jsonファイルは次です:

{
"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"]
}

何か助け?ありがとう

20
Asier Gomez

追加

{
  "client_addr": "0.0.0.0"
}

構成に追加するか、オプション-client 0.0.0.0をconsulのコマンドラインに追加して、Web UIを外部からアクセスできるようにします( 詳細についてはドキュメントを参照 )。

これにより、Consul REST APIが外部からアクセス可能になります。環境によっては、アクセスを制限するためにConsulのACLをアクティブにする必要がある場合があります。

39
ahus1

この場合はsocatを使用できます。

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

172.16.93.12は私のIPです。

4
nhanpt

私はまだConsulを実際に使った経験はありませんが、ここにいくつかのヒントを示します。

  • 実行Sudo netstat -peanut | grep :8500そして、Consulが0.0.0.0または明示的なIPにバインドされているかどうかを確認します。これが設定可能な場合はドキュメントを確認する必要があります。
  • 各ノードに SquidNginx 、またはHTTPプロキシとして機能できる他のソフトウェアをインストールします
2
NikoNyrh

Dockerイメージとして実行します。

docker pull consul

docker run -p 8500:8500 consul

http://<hostname>:8500/uiの領事館にアクセスできます

2
Mohammed Rafeeq

最後に解決策を見つけました。マシンのIPであるbind addrと、リッスンするホストであるclient_addrを使用して、構成ファイルに追加します。したがって、0.0.0.0を使用してすべてのIPをリッスンします。

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

ユーザーインターフェイスがない場合、ユーザーインターフェイスを取得する方法はありません)クラシックUIデスクトップ環境(x-term ....)のスタックなので、取得する前にノードにインストールする必要があります

0
AlexS