• 欢迎来到小爱博客,一个分享互联网IT技术的网站,喜欢就收藏吧!

elasticsearch http参数配置

elasticsearch 小爱 3个月前 (07-28) 71次浏览 已收录 0个评论 扫描二维码

HTTP层通过HTTP公开Elasticsearch的REST API。

HTTP机制本质上是完全异步的,这意味着没有等待响应的阻塞线程。使用HTTP异步通信的好处是解决了 C10k问题

如果可能, 在连接时考虑使用 HTTP保持活动状态以获得更好的性能,并尝试让自己喜欢的客户端不要执行 HTTP分块

HTTP设置编辑

可以为HTTP配置以下设置。这些设置也使用通用网络设置

HTTP设置不能动态更新。您必须在Elasticsearch 配置文件中配置这些设置, 然后重新启动Elasticsearch才能使更改生效。

http.port
绑定端口范围。默认为9200-9300
http.publish_port
与该节点通信时,HTTP客户端应使用的端口。当群集节点位于代理服务器或防火墙之后并且http.port无法从外部直接寻址时,该选项很有用。默认为通过分配的实际端口http.port
http.bind_host
绑定HTTP服务的主机地址。默认为http.host(如果设置)或network.bind_host
http.publish_host
要发布以供HTTP客户端连接的主机地址。默认为http.host(如果设置)或network.publish_host
http.host
用于设置http.bind_hosthttp.publish_host
http.max_content_length
HTTP请求的最大内容。默认为100MB
http.max_initial_line_length
HTTP URL的最大长度。默认为4KB
http.max_header_size
允许的标头的最大大小。默认为8KB

 

http.compression 徽标云
尽可能支持压缩(使用Accept-Encoding)。如果启用了HTTPS,则默认为false。否则,默认为true

禁用HTTPS压缩可减轻潜在的安全风险,例如 BREACH攻击。要压缩HTTPS流量,必须将显式设置http.compressiontrue

http.compression_level
定义用于HTTP响应的压缩级别。有效值的范围是1(最小压缩)和9(最大压缩)。默认为3

 

http.cors.enabled 徽标云
启用或禁用跨域资源共享,这确定另一个源上的浏览器是否可以执行针对Elasticsearch的请求。设置为true启用以使Elasticsearch处理飞行前 CORS请求。Access-Control-Allow-Origin如果列表Origin允许在请求中发送,Elasticsearch将使用标头响应那些请求http.cors.allow-origin。设置为false(默认值)以使Elasticsearch忽略Origin请求标头,从而有效禁用CORS请求,因为Elasticsearch将永远不会使用Access-Control-Allow-Origin响应标头进行响应。

如果客户端不发送带有Origin标头的预检请求,或者不检查服务器的Access-Control-Allow-Origin响应标头以验证 响应标头,则跨域安全性将受到损害。如果在Elasticsearch上未启用CORS,则客户端知道的唯一方法是发送飞行前请求并意识到缺少所需的响应标头。

 

http.cors.allow-origin 徽标云
允许哪个起源。如果在值之前加上正斜杠(/),则会将其视为正则表达式,从而允许您支持HTTP和HTTP。例如,/https?:\/\/localhost(:[0-9]+)?/在两种情况下,using 都会适当地返回请求标头。默认为不允许原点。

通配符(*)是有效值,但被认为存在安全风险,因为您的Elasticsearch实例可以从任何地方跨越源请求。

 

http.cors.max-age 徽标云
浏览器发送“预检”选项请求,以确定CORS设置。max-age定义结果应缓存的时间。默认为1728000(20天)。

 

http.cors.allow-methods 徽标云
允许哪些方法。默认为OPTIONS, HEAD, GET, POST, PUT, DELETE

 

http.cors.allow-headers 徽标云
允许哪些标题。默认为X-Requested-With, Content-Type, Content-Length

 

http.cors.allow-credentials 徽标云
是否Access-Control-Allow-Credentials应返回标头。默认为false

仅在设置为时返回此标头true

http.detailed_errors.enabled
如果为true,则在响应输出中启用详细错误消息和堆栈跟踪的输出。默认为true

如果为false,则使用error_trace参数启用堆栈跟踪并返回详细的错误消息。否则,将仅返回一条简单消息。

http.pipelining.max_events
关闭HTTP连接之前要在内存中排队的最大事件数,默认为10000
http.max_warning_header_count
客户端HTTP响应中的警告标头的最大数量。默认为unbounded
http.max_warning_header_size
客户端HTTP响应中警告标头的最大总大小。默认为unbounded
http.tcp.no_delay
启用或禁用“ TCP无延迟” 设置。默认为network.tcp.no_delay
http.tcp.keep_alive
配置SO_KEEPALIVE此套接字的选项,该选项确定是否发送TCP Keepalive探针。默认为network.tcp.keep_alive
http.tcp.keep_idle
配置TCP_KEEPIDLE此套接字的选项,该选项确定开始发送TCP Keepalive探测之前连接必须空闲的时间(以秒为单位)。默认为network.tcp.keep_idle,使用系统默认值。该值不能超过300秒。仅适用于Linux和macOS,并且需要Java 11或更高版本。
http.tcp.keep_interval
配置TCP_KEEPINTVL此套接字的选项,该选项确定两次发送TCP keepalive探测之间的时间(以秒为单位)。默认为network.tcp.keep_interval,使用系统默认值。该值不能超过300秒。仅适用于Linux和macOS,并且需要Java 11或更高版本。
http.tcp.keep_count
配置TCP_KEEPCNT此套接字的选项,该选项确定在删除连接之前可能在连接上发送的未经确认的TCP Keepalive探测的数量。默认为network.tcp.keep_count,使用系统默认值。仅适用于Linux和macOS,并且需要Java 11或更高版本。
http.tcp.reuse_address
地址是否应该重用。默认为network.tcp.reuse_address
http.tcp.send_buffer_size
TCP发送缓冲区的大小(以size为单位指定)。默认为network.tcp.send_buffer_size
http.tcp.receive_buffer_size
TCP接收缓冲区的大小(以size为单位指定)。默认为network.tcp.receive_buffer_size

小爱博客 , 版权所有
转载请注明原文链接:elasticsearch http参数配置
喜欢 (0)
【你的支持, 我的动力】
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址