我有带有嵌入式弹性搜索的Spring Boot应用程序。我可以在localhost:9200上访问它,但它不响应真正的IP xx.xxx.x.xx:9200。
端口是开放的,问题是它只是监听本地接口。
netstat -vanp tcp | grep 9200
tcp4 0 0 127.0.0.1.9200 *.* LISTEN 131072 131072 31425 0
tcp6 0 0 ::1.9200 *.* LISTEN 131072 131072 31425 0
tcp6 0 0 fe80::1%lo0.9200 *.* LISTEN 131072 131072 31425 0
如何强制它全部倾听,就像我对web 8080一样
netstat -vanp tcp | grep 8080
tcp46 0 0 *.8080 *.* LISTEN 131072 131072 23002 0
我正在使用:
这是我的application-dev.yml
的一部分data:
elasticsearch:
cluster-name:
cluster-nodes:
properties:
path:
logs: target/elasticsearch/log
data: target/elasticsearch/data
http:
enabled: true
谢谢
答案 0 :(得分:2)
您需要将嵌入式Elasticsearch绑定到所有主机ips(或至少绑定到机器的真实IP),它在我看来您绑定到localhost,因此在配置elasticsearch时需要此条目:< / p>
Settings.Builder nodeSettings = nodeBuilder().settings();
...
nodeSettings.put("network.host", "0.0.0.0");
这将绑定您的elasticsearch以绑定到您的主机IP地址。