2017-05-16 6 views
0

Ich habe meine Daten auf einem SSH-Server und ich möchte die Daten über HTTP POST und GET Anfragen abfragen und abrufen. Ich habe versucht, das mit den einfachen URLs http://127.0.0.1:9200/_search zu tun? aber es gibt mir eine leere Antwort. Was ist der richtige Weg, um Anfragen über SSH-Server über HTTP zu senden? meine http Post-Funktion sieht wie folgt aus etwas:Senden einer HTTP-Anfrage über SSH-Server

function spatialsearch(coordinates_selected) { 
    var coords = coordinates_selected.geometry.coordinates; 
    console.log('c',JSON.stringify(coordinates_selected.geometry.coordinates)); 
    var _url = 'http://127.0.0.1:9200/_search?'; 

    var b = { 
    "query": { 
     "bool": { 
     "must": { 
      "match_all": {} 
     }, 
     "filter": { 
      "geo_shape": { 
      "metadata.o2r.spatial.geometry": { 
       "shape": { 
       "type": "polygon", 
       "coordinates": 
       coords 

       /* [ 
       //  [-22.0, 76.0], 
       //  [-27.0, 65.0], 
       //  [-57.0, 65.0], 
       //  [-59.0, 76.0], 
       //  [-22.0, 76.0] 
       ]*/ 

       }, 
       "relation": "within" 
      }}}}} 
    }; 

    console.log(b,'http sending request'); 
    return $http.post(_url,b); 
} 

i SSH-Tunneling versucht ssh mit -L9201:sshserver:9200 [email protected] aber ich bin immer noch keine Antwort.

+0

Haben Sie einen SSH-Tunnel zu Ihrem Remote-Host, auf dem ES ausgeführt wird? – Val

+0

@Val Ich bin nicht vertraut mit SSH-Tunnel, da ich neu zu diesem Ding bin. Ich denke, ich habe es nicht, weil der Server nur mit Standardkonfigurationen – Rehan

+0

eingerichtet ist. Verbinden Sie sich einfach mit 'ssh -L9200: abcd: 9200 user @ abcd'und dann können Sie auf Ihren Remote ES Server zugreifen 'localhost: 9200' – Val

Antwort

0

Ich verwende SSH-Tunneling für diesen Zweck mit der folgenden Anweisung ssh L9201:127.0.0.1:9200 [email protected].