Pet*_*uer 5 elasticsearch digital-ocean
我需要将我的ES集群公开给全世界,并通过Nginx使用代理*:9201 - > localhost:9200(正常)来保护它.
但是,为了形成一个集群,我试图在DigitalOcean上使用专用网络来让节点相互通信.
如何在不安全的私有网络接口上公开节点 - 节点传输,同时不向世界公开端口9200?
我正在尝试类似的东西
network.publish_host: 10.128.97.184
http.port: 9200
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: 10.128.97.184,10.128.97.185
Run Code Online (Sandbox Code Playgroud)
在elasticsearch.yml
但它不工作,可能是因为端口9300也可能nginx的保护?
我的nginx文件看起来像
root@els-node-1:~# cat /etc/nginx/sites-enabled/elasticsearch
server {
listen *:9201;
access_log /var/log/nginx/elasticsearch.access.log;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd;
proxy_pass http://localhost:9200;
proxy_read_timeout 90;
}
}
Run Code Online (Sandbox Code Playgroud)
我能够组建集群,但我看不到如何保护外部9200(除了127.0.0.1之外的所有内容都禁用它)并保持内部接口为10.xxx这样的加密打开
感谢帮助!