elasticsearch - 如何将 tcp 重定向到 nginx 中 Elasticsearch 服务器的端口 9300?

标签 elasticsearch nginx configuration

我可以使用这个简单的 nginx 配置将其余的通信重定向到 elasticsearch 服务器:

http {

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   30;
types_hash_max_size 2048;
client_max_body_size 50M;

include             /etc/nginx/mime.types;
default_type        application/octet-stream;

include /etc/nginx/conf.d/*.conf;
index   index.html index.htm;

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  localhost;
    root         /usr/share/nginx/html;

    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass http://localhost:9200;
        proxy_set_header Host $host;
    }
}
}

如果我尝试将客户端传输协议(protocol)重定向到端口 9300,它不起作用,则客户端无法连接到 Elasticsearch 服务器。
将 tcp 重定向到端口 9300 的正确 nginx 配置是什么?

最佳答案

请注意,如果它是新开发,您应该使用其余客户端,而不是已弃用的传输客户端。
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html#_tcp_transport
您可能需要设置 set transport.publish_port 和 transport.publish_host...

如果反向代理只是 TCP 代理,它应该可以工作,这里是 nginx on tcp proxy 的文档:
https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/

关于elasticsearch - 如何将 tcp 重定向到 nginx 中 Elasticsearch 服务器的端口 9300?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53284911/

相关文章:

elasticsearch - 术语的 Elasticsearch

elasticsearch - 如何强制执行 `terms` 查询的顺序?

elasticsearch - 从Elastic-Search响应中获取与所有查询匹配的源元素

NGINX => 在具有子 URI 的单个主机名上提供多个应用程序

c# - 在运行时选择性地禁用 ServiceStack 中的某些 REST 服务

Elasticsearch - 查询中 "and"和 "ampersand"(&) 的相同搜索结果

nginx - 连接失败时强制ffmpeg忽略错误

nginx - 通过 FTP 传输到现有 Docker 容器

node.js - 运行 launch.json 配置时找不到模块 '"/Applications/Visual'

jakarta-ee - 集中 quarkus 的通用配置