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"]
}
何か助け?ありがとう
追加
{
"client_addr": "0.0.0.0"
}
構成に追加するか、オプション-client 0.0.0.0
をconsulのコマンドラインに追加して、Web UIを外部からアクセスできるようにします( 詳細についてはドキュメントを参照 )。
これにより、Consul REST APIが外部からアクセス可能になります。環境によっては、アクセスを制限するためにConsulのACLをアクティブにする必要がある場合があります。
この場合はsocatを使用できます。
socat -d -d TCP-L:8500、bind = 172.16.93.128、fork TCP:localhost:8500&
172.16.93.12は私のIPです。
Dockerイメージとして実行します。
docker pull consul
docker run -p 8500:8500 consul
http://<hostname>:8500/ui
の領事館にアクセスできます
最後に解決策を見つけました。マシンのIPであるbind addrと、リッスンするホストであるclient_addrを使用して、構成ファイルに追加します。したがって、0.0.0.0を使用してすべてのIPをリッスンします。
"bind_addr":"<machine-ip>",
"client_addr":"0.0.0.0",
ユーザーインターフェイスがない場合、ユーザーインターフェイスを取得する方法はありません)クラシックUIデスクトップ環境(x-term ....)のスタックなので、取得する前にノードにインストールする必要があります