Conexión de cliente elasticsearch.js rechazada: ¿Access-Control-Allow-Origin no reconocido?

He estado tratando de hacer ping a un elasticsearch que se ejecuta localmente usando elasticsearch.jquery.min.js y cada vez me sale un error de "no hay conexión viva".

ETA: en Chrome veo lo que parece un "nivel de conexión rechazado" bastante bajo. Estoy desarrollando en MacOS X, y mi navegador apunta a la página a través dehttp://localhost/~myuserid/SiteName/. Como estoy accediendolocalhost:9200 esto claramente cae bajo los requisitos de CORS de dominio cruzado.

Veo el siguiente error en la consola de Chrome:

XMLHttpRequest cannot load http://localhost:9200/?hello=elasticsearch!.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost' is therefore not allowed access.

Porhttp://enable-cors.org/server_apache.html He agregado lo siguiente a /etc/apache2/httpd.conf:

<Directory />
    Header set Access-Control-Allow-Origin "localhost:9200"
    AllowOverride none
    Require all denied
</Directory>

y correr

$ sudo apachectl -t
$ sudo apachectl -k graceful

Pero el error persiste. ¿Hay otra configuración que estoy pasando por alto?

Soy un novato en elasticsearch.js. ¿Hay algo que deba hacer en el lado de Elasticsearch para permitir conexiones de clientes desde el navegador, o algo así?

estoy siguiendoel libro en mi intento de ping:

var client = new $.es.Client({
  hosts: 'localhost:9200'
  });

client.ping(
  {
    requestTimeout: Infinity,
    // undocumented params are appended to the query string
    hello: "elasticsearch!"
    },
  function (error) {
    if (error) {
      console.error('elasticsearch cluster is down!');
      console.error(error);
    } else {
      console.log('All is well');
      }
    }
  );

pero recibo los siguientes errores:

"WARNING: 2015-10-10T07:00:16Z"        elasticsearch.jquery.min.js:14:10575
  Unable to revive connection: http://localhost:9200/

"WARNING: 2015-10-10T07:00:16Z"        elasticsearch.jquery.min.js:14:10575
  No living connections

Me puedo conectar usando curl en la línea de comando bien, extraer e insertar datos, etc.

$ curl "localhost:9200/_cat/indices?v"
health status index             pri rep docs.count docs.deleted store.size pri.store.size 

green  open   fuddle              1   0          3            0     12.9kb         12.9kb                                                
green  open   faddle              1   0          0            0       144b           144b 


ETA diagnósticos adicionales. Google Chrome muestra los siguientes rastros de red para el intento fallido. En la capa HTTP, la respuesta parece que está sucediendo.

General
  Remote Address:[::1]:9200
  Request URL:http://localhost:9200/?hello=elasticsearch!
  Request Method:HEAD
  Status Code:200 OK
Response Headers
  Content-Length:0
  Content-Type:text/plain; charset=UTF-8
Request Headers
  Accept:text/plain, */*; q=0.01
  Accept-Encoding:gzip, deflate, sdch
  Accept-Language:en-US,en;q=0.8
  Connection:keep-alive
  Content-Length:0
  Host:localhost:9200
  Origin:http://localhost
  Referer:http://localhost/~browsc3/Opticon/
  User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Query String Parameters
  view URL encoded
  hello:elasticsearch!

La misma solicitud en wget:

wget http://localhost:9200/?hello=elasticsearch!
--2015-10-10 09:47:13--  http://localhost:9200/?hello=elasticsearch!
Resolving localhost... ::1, 127.0.0.1
Connecting to localhost|::1|:9200... connected.
HTTP request sent, awaiting response... 200 OK
Length: 342 [application/json]
Saving to: 'index.html?hello=elasticsearch!'

index.html?hello=elastics 100%[=====================================>]     342  --.-KB/s   in 0s     

2015-10-10 09:47:13 (65.2 MB/s) - 'index.html?hello=elasticsearch!' saved [342/342]

Estoy realmente perdido a dónde ir desde aquí. Veo muchas referencias al error en el googlz, pero ninguna de las circunstancias parece remotamente similar. Parece que estoy llegando a una mala configuración, pero no puedo encontrar nada que indique qué es eso.

Respuestas a la pregunta(3)

Su respuesta a la pregunta