我在 docker 容器中运行 ElasticSearch,该容器公开了 9200 端口。我可以使用浏览器和curl
on 来访问它http://192.168.59.103:9200/
(我得到了You Know, for Search
响应),但其他 GUI 工具似乎都无法连接,它们都无法连接。
我试过了elasticsearch-head,弹力锤,ElasticHQ, ETC。
如果我能够得到回应,他们也应该得到回应,这怎么可能呢?我该如何调试这个问题?
答案1
这真的很有趣。但是当我遇到 Elasticsearch 的此类问题时,我会尝试以下方法:
- 卷曲(你已经尝试过了)
- 浏览器(您已经尝试过),但在这里我启动并行浏览器调试器(例如按 F12)来查看究竟发生了什么请求以及究竟发生了什么响应。
下一步:3. 启动 Wireshark 等嗅探器并 4. 从工具执行连接。
如果来自浏览器/Curl 的调用与 Wireshark 中看到的类似,则有些事情相当奇怪。但也许它们(工具)配置错误,它们将请求发送到错误的机器,或者它们使用了错误的 API,甚至使用了错误的端口或身份验证。