我希望在gcloud VM上远程运行我的elasticsearch,它配置为在127.0.0.1的特定端口9200上运行。如何从该VM外部的网站访问它?如果我将yml文件上的网络主机更改为0.0.0.0,那么即使9200端口也无法访问。我该如何克服这个问题?
Changed network.host: [_site_ , _local_ , _global_ ]
_site_ = internal ip given by google cloud vm,
_local_ = 127.0.0.1,
_global_ = found using curl ifconfig.me,
Opened a specific port (9200) and tried to connect with global IP address.
curl to the global ip gives
>Output: Failed to connect to (_global_ ip) port 9200: connection refused.
答案 0 :(得分:0)
因此,放入network.host:0.0.0.0,然后尝试允许9200和9201端口并重新启动elasticsearch服务。如果您使用的是ubuntu,则sudo service elasticsearch restart
,然后通过执行curl -XGET 'http://localhost:9200?pretty'
进行检查。知道您是否仍然遇到任何问题。
答案 1 :(得分:0)
对elasticsearch.yml
使用以下配置
network.host: 0.0.0.0
action.auto_create_index: false
index.mapper.dynamic: false
答案 2 :(得分:0)
通过浏览日志解决了此问题,发现公用ip地址已重新映射到内部ip地址,因此无法将network.host直接设置为外部ip。 Elasticsearch yml配置如下:
现在,可以使用Google提供的外部IP地址从VM外部访问此沙盒版本。