enviando um pedido http sobre o servidor ssh

0

Eu tenho meus dados residentes em um servidor SSH e eu quero saber e recuperar os dados via solicitações HTTP POST e GET. Eu tenho tentado fazer isso usando o link do URL simples ? mas isso me dá uma resposta vazia. Qual é a maneira correta de enviar solicitações pelo servidor ssh através de http? minha função http post é algo assim:

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);
}

Eu tentei tunelamento SSH usando ssh -L9201: sshserver: 9200 r_chau02 @ sshserver, mas ainda não estou recebendo nenhuma resposta.

atualização Eu atualizei a porta no meu código para 9201, mas ainda assim o resultado foi o mesmo. O erro no console é net :: ERR_EMPTY_RESPONSE enquanto o terminal gera canal 3: open failed: connect failed: Conexão recusada .

    
por Rehan 17.05.2017 / 10:22

1 resposta

0

Você está olhando na direção certa, com um pequeno erro. A solicitação HTTP e a porta de encaminhamento não correspondem (9200 e 9201).

Você pode atualizar seu código para consultar a porta 9201 ou alterar o túnel ssh para:

ssh -L9201:127.0.0.1:9200 r_chau02@sshserver

Isso tornará o ES disponível no host local: 9200 (supondo que o tunelamento esteja habilitado no servidor e o ES esteja escutando no endereço do sshserver).

    
por 17.05.2017 / 11:03