页面树结构

2017-11-09 ApacheCN 开源组织,第二期邀请成员活动,一起走的更远 : http://www.apachecn.org/member/209.html


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

HTTP

  http模块允许通过http的方式暴露Elasticsearch的api,http机制本质上是完全异步的,这意味着没有阻塞线程等待响应。使用异步通信进行HTTP的好处是解决了C10k问题。 如果可以,可考虑使用HTTP keep alive来连接以便提升性能。并且不要在客户端使用HTTP chunking

Setting(配置)

  可以为http请求做下表中的配置,但是所有的配置都不是动态加载的,必须重启elasticsearch后才能生效。配置文件为:elasticsearch.yml

 

配置
说明

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_host和http.publish_host默认设置为http.host或network.host。

http.max_content_length

HTTP请求的最大内容。 默认值为100mb。 如果设置为大于Integer.MAX_VALUE,则将重置为100mb。

http.max_initial_line_length

http url最大值,默认4kb

http.max_header_size

http header(请求头)的最大值,默认8kb

http.compression

设置是否压缩tcp传输时的数据,默认为true。

http.compression_level

定义HTTP传输的压缩级别。 有效值在1(最小压缩)和9(最大压缩)的范围内。 默认为3。

http.cors.enabled

配置是否允许跨域请求,即另一来源上的浏览器是否可以针对Elasticsearch执行请求。 设置为true以启用Elasticsearch以处理“预检”CORS请求。 如果请求中发送的Origin由http.cors.allow-origin列表允许,Elasticsearch将使用Access-Control-Allow-Origin标头响应这些请求。 设置为false(默认值)使Elasticsearch忽略Origin请求头,有效地禁用CORS请求,因为Elasticsearch永远不会使用Access-Control-Allow-Origin响应头响应。 请注意,如果客户端没有发送带有Origin标头的“预检”请求,或者它不检查来自服务器的响应报头来验证Access-Control-Allow-Origin响应报头,则跨原点安全性受到损害。 如果Elasticsearch上没有启用CORS,客户端知道的唯一方法是发送一个“预检”请求,并实现所需的响应头丢失。

http.cors.allow-origin

定义允许哪些源请求。可以使用正则表达式,例如/https?:\/\/localhost(:[0-9]+)?/可设置支持本地HTTP和HTTPS请求。也可以设置为*,但是会存在安全隐患,因为任何来源都可访问

http.cors.max-age

浏览器会发送一个“预检”的OPTIONS请求,来检查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

http.detailed_errors.enabled

是否输出详细的错误信息和堆栈。默认为true

http.pipelining

是否启用HTTP管道支持, 默认为true

http.pipelining.max_events

在一个HTTP连接被关闭之前内存队列中允许的最大的事件数量,默认为10000 该模块也可使用一些公共的网络配置(见网络设置一节)

http.content_type.required

启用或禁用对具有内容的所有请求的Content-Type标头的严格检查和使用,默认为false。

Disable HTTP(禁用HTTP)

 HTTP模块可以通过将http.enable设置为false来禁用。Elasticsearch节点(和Java客户端)的内部通信使用transport接口,而非HTTP。这意味着我们可以将不接受直接REST请求的节点的HTTP禁用。比如,可以将数据节点的http禁用,创建非数据节点用来处理所有的REST请求。需要注意的是,不能向一个已经禁用了HTTP的节点直接发送任何REST请求。

 

 

  • 无标签