本地英文版地址: ../en/modules-http.html
HTTP层通过HTTP公开 Elasticsearch 的 REST API。
HTTP机制本质上是完全异步的,这意味着不存在等待响应的阻塞线程。 对 HTTP 使用异步通信的好处是解决了 C10k problem 问题( 国内打不开点这里)。
如果可以,考虑在连接时使用 HTTP keep alive 以获得更好的性能,并尝试让你最喜欢的客户端不要进行 HTTP 分块。
下表中的设置可以对 HTTP 进行配置。 注意,它们都不能动态更新,要让它们生效,应该在 Elasticsearch 的 配置文件 中设置。
Setting | Description |
---|---|
|
绑定端口范围。默认为 |
|
HTTP客户端在与此节点通信时应使用的端口。
当集群的节点位于代理或防火墙之后,并且 |
|
HTTP 服务要绑定到的主机地址。默认为 |
|
要发布供 HTTP 客户端连接的主机地址。默认为 |
|
用于设置 |
|
HTTP 请求的最大内容。默认为 |
|
HTTP URL 的最大长度。默认为 |
|
允许的 header 大小的最大值。默认为 |
|
如果可以就支持压缩 (使用 Accept-Encoding)。如果开启了 HTTPS,默认为
对 HTTPS 禁用压缩可以降低潜在的安全风险,如 BREACH 攻击。要压缩 HTTPS 流量,必须将 |
|
定义用于 HTTP 响应的压缩级别。有效值的范围为 1(最小压缩) 到 9 (最大压缩)。默认为 |
|
启用或禁用 跨域(cross-origin) 资源共享,即在浏览器上另一个源是否可以对 Elasticsearch 执行请求。
设置为 |
|
允许的域(源, origin)。默认不允许任何域。
如果在该值前添加 |
|
浏览器发送带 “预检(preflight)” 选项的请求来确定 CORS 设置。
|
|
允许哪些方法。默认为 |
|
允许那些 header 。默认为 |
|
是否要返回 |
|
启用或禁用响应中详细错误消息和堆栈跟踪的输出。
注意:当设置为 |
|
关闭 HTTP 连接之前,要在内存中排队的最大事件数,默认为 |
|
客户端 HTTP 响应中警告头的最大数量,默认为 不限制。 |
|
客户端 HTTP 响应中警告头的最大总大小,默认为 不限制。 |
它还使用通用的 网络设置。
HTTP层有一个专用的跟踪记录器,当它被激活时,记录传入的请求。
通过将 org.elasticsearch.http.HttpTracer
日志的级别设置为 TRACE
,可以动态激活日志:
PUT _cluster/settings { "transient" : { "logger.org.elasticsearch.http.HttpTracer" : "TRACE" } }
您还可以使用一组包含和排除通配符模式来控制将跟踪哪些 uri。默认情况下,每个请求都会被跟踪。
PUT _cluster/settings { "transient" : { "http.tracer.include" : "*", "http.tracer.exclude" : "" } }