现象
安装完elasticsearch服务之后,无法通过192.168.9.120 本机内网IP访问的问题,只能通过localhost/127.0.0.1本机环回地址访问。
解决办法
修改配置文件【config/elasticsearch.yml】中的network.host。默认只能以127.0.0.1访问。
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 192.168.9.120
#
# Set a custom port for HTTP:
#
http.port: 9201
#
# For more information, consult the network module documentation.
也可以改成
network.host: 0.0.0.0
network.host 表示只允许指定的IP访问本机elasticsearch服务。因为有些时候本机可能会绑定多个IP地址,例如:本机可以同时绑定192.168.9.120; 192.168.8.120; 以及127.0.0.1环回地址这些,但是我们又想控制服务只能被192.168.9.120访问到,则可以通过这种方式进行配置限定。如果想本机绑定的所有IP都可访问此服务,则可将network.host设置为0.0.0.0。
ipv4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。
- 在服务器中,0.0.0.0指的是本机上的所有ipv4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
- 在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由时所对应的路由。
参考: