如何将我的 Elastic Search 服务器暴露在互联网上?
How to expose my Elastic Search server to the internet?
我已经在 VPS Centos 上安装了我的 ElasticSearch (ES) 服务器。我确实在服务器内部测试了 ES,它响应正确。
我的下一步是允许托管在不同 Web 主机上的我的网站访问其数据内容并将其索引到我的 ES 服务器中。
我的问题是,将 ES 暴露在互联网上的推荐方式是什么,以便我的网站可以访问它来执行索引和搜索?是否有我需要安装的身份验证方法?
您需要在您的 elasticsearch.yml 文件中包含 network.host:0.0.0.0
以便它监听非环回地址,之后,如果您的应用服务器和 ES 都在同一个 VPC 中,应用服务器将能够连接到 ES(前提是您在安全组中公开了 9200 端口(如果是 AWS)。
希望您的应用程序服务器端口暴露给内部连接到 ES 的互联网,您不应该将 ES 或 Elasticsearch 的 9200 端口暴露给互联网。
如果您想要额外的安全层,可以启用 x-pack basic,它包含在免费套餐中,可以使用 xpack.security.enabled: true
在 elasticsearch.config 中启用。
参考x-pack features and configuration了解更多信息。
我已经在 VPS Centos 上安装了我的 ElasticSearch (ES) 服务器。我确实在服务器内部测试了 ES,它响应正确。
我的下一步是允许托管在不同 Web 主机上的我的网站访问其数据内容并将其索引到我的 ES 服务器中。
我的问题是,将 ES 暴露在互联网上的推荐方式是什么,以便我的网站可以访问它来执行索引和搜索?是否有我需要安装的身份验证方法?
您需要在您的 elasticsearch.yml 文件中包含 network.host:0.0.0.0
以便它监听非环回地址,之后,如果您的应用服务器和 ES 都在同一个 VPC 中,应用服务器将能够连接到 ES(前提是您在安全组中公开了 9200 端口(如果是 AWS)。
希望您的应用程序服务器端口暴露给内部连接到 ES 的互联网,您不应该将 ES 或 Elasticsearch 的 9200 端口暴露给互联网。
如果您想要额外的安全层,可以启用 x-pack basic,它包含在免费套餐中,可以使用 xpack.security.enabled: true
在 elasticsearch.config 中启用。
参考x-pack features and configuration了解更多信息。