2014-09-05 11 views
5

Sto provando a eseguire il plugin elastico-testa di ricerca sul mio server, ma posso semplicemente accedervi tramite il terminale del server. Se provo ad accedervi tramite un browser, tenta di connettersi finché non viene visualizzato il messaggio del browser "Questa pagina non è disponibile".Il plug-in ES-head non funziona tramite il browser

Se scriv "curl -v http://localhost:9200/_plugin/head/" nel terminale, ottengo

* Trying 127.0.0.1... 
* Connected to localhost (127.0.0.1) port 9200 (#0) 
> GET /_plugin/head/ HTTP/1.1 
> User-Agent: curl/7.36.0 
> Host: localhost:9200 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
< Content-Type: text/html 
< Content-Length: 1077 
< 
<!DOCTYPE html> 

<html> 
     <head> 
       <meta charset="UTF-8"> 
       <title>elasticsearch-head</title> 
       <link rel="stylesheet" href="dist/base/reset.css"> 
       <link rel="stylesheet" href="dist/vendor.css"> 
       <link rel="stylesheet" href="dist/app.css"> 
       <script src="dist/i18n.js" data-baseDir="dist/lang" data-langs="en,fr,pt"></script> 
       <script src="dist/vendor.js"></script> 
       <script src="dist/app.js"></script> 
       <script> 
         window.onload = function() { 
           if(location.href.contains("/_plugin/")) { 
             var base_uri = location.href.replace(/_plugin\/.*/, ''); 
           } 
           var args = location.search.substring(1).split("&").reduce(function(r, p) { 
             r[decodeURIComponent(p.split("=")[0])] = decodeURIComponent(p.split("=")[1]); return r; 
           }, {}); 
           new app.App("body", { 
             id: "es", 
             base_uri: args["base_uri"] || base_uri, 
             auth_user : args["auth_user"] || "", 
             auth_password : args["auth_password"], 
             dashboard: args["dashboard"] 
           }); 
         }; 
       </script> 
       <link rel="icon" href="dist/base/favicon.png" type="image/png"> 
     </head> 
     <body></body> 
</html> 
* Connection #0 to host localhost left intact 

ma se vado a un browser e scriv: x.x.x.x: 9200/_plugin/testa/è appena non mostrare nulla.

Cosa mi manca qui? Qualche supposizione?

Grazie in anticipo.

risposta

0

Sembra che sia necessario creare un tunnel di porte per accedervi sul proprio computer locale - è possibile farlo con lo stucco.

http://howto.ccs.neu.edu/howto/windows/ssh-port-tunneling-with-putty/

+0

Grazie per la risposta! Ho provato ma ottengo lo stesso risultato. Il browser attende e aspetta finché non ottengo il messaggio "Questo web non è disponibile" :( –

0

verificare le impostazioni del proxy per il browser. Probabilmente non vuoi passare attraverso un proxy per richieste locali. Controlla anche le impostazioni del firewall sul server e sui client di connessione. Non hai specificato quale browser e piattaforma stai utilizzando, quindi è difficile fornire ulteriore assistenza.

+0

Sto usando Google Chrome, ma ho provato explorer e firefox Tutti con Windows Il server usa amazon linux. –

1

Ho affrontato lo stesso problema dopo googling per ore ho scoperto che è necessario riavviare i nodi elasticsearch ma prima di farlo assicurarsi di spegnere l'elasticsearch eseguendo

curl -XPOST localhost:9200/_shutdown 

Poi iniziare l'elasticsearch con

sudo ./elasticsearch 
1

Ho trovato che (almeno con le versioni 2.x, non riesco a parlare prima) non è necessario rimbalzare elasticsearch dopo aver installato il plugin head. Il problema per me era che, per qualche ragione, non potevo connettermi su localhost:9200 ma potevo tramite il mio indirizzo IP di rete. Il modo in cui sono riuscito a capirlo era tramite netstat -na | grep 9200.

Anche in questo caso, perché ha scelto di farlo, non posso confermare: ho abbinato il mio file /etc/hosts al desktop di lavoro e il mio desktop di lavoro non ha problemi di connessione tramite localhost.

L'altra cosa che dovevo fare era cambiare l'indirizzo di trasporto da localhost al mio IP di rete o ho ottenuto un NoSuchNodeException all'avvio.

1

Ho affrontato lo stesso problema. Stavo usando Chrome. Strumenti per sviluppatori in cromo mi ha segnalato questo errore

XMLHttpRequest non può caricare http://localhost:9200/_cluster/health. Nessuna intestazione 'Access-Control-Allow-Origin' è presente sulla risorsa richiesta. L'origine 'null' non è quindi consentita l'accesso.

Uno dei suggerito answer su StackOverflow per l'errore precedente è stato quello di utilizzare l'estensione Chrome di seguito per attivare e disattivare CORS su una base, se necessario. Quando questa estensione è stata abilitata, la testa elastica ha iniziato a lavorare in chrome.

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?hl=en-US

Problemi correlati