Não é possível configurar o Nginx como um proxy reverso para o elasticsearch em outro servidor

1

Estou tentando usar o Kibana em um servidor A para acessar o elasticsearch em um servidor B.
O elasticsearch é protegido por uma autenticação de autenticação básica no servidor B.

O Kibana também é protegido com autenticação básica (e a mesma senha) no servidor A.

Estou usando a esta configuração (inspirada em aqui )

Estou apenas tentando o redirecionamento digitando o seguinte endereço e recebo um erro 500:

No log eu tenho:

2014/06/01 16:45:55 [error] 3721#0: *1 rewrite or internal redirection cycle while internally redirecting to "/es/_search", client: 192.168.50.1, server: A.com, request: "GET /es/_search HTTP/1.1", host: "A.com"

Alguma ideia do que poderia estar errado?

    
por Hugo Lassiège 01.06.2014 / 18:57

1 resposta

1
#
# Nginx proxy for Elasticsearch + Kibana
#
# In this setup, we are password protecting the saving of dashboards. You may
# wish to extend the password protection to all paths.
#
# Even though these paths are being called as the result of an ajax request, the
# browser will prompt for a username/password on the first request
#
# If you use this, you'll want to point config.js at http://FQDN:80/ instead of
# http://FQDN:9200
#
server {
  listen                *:80 ;

  server_name           kibana.myhost.org;
  access_log            /var/log/nginx/kibana.myhost.org.access.log;

  location / {
    root  /usr/share/kibana3;
    index  index.html  index.htm;
  }

  location ~ ^/_aliases$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
  }
  location ~ ^/.*/_aliases$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
  }
  location ~ ^/_nodes$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
  }
  location ~ ^/.*/_search$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
  }
  location ~ ^/.*/_mapping {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
  }

  # Password protected end points
  location ~ ^/kibana-int/dashboard/.*$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
    limit_except GET {
      proxy_pass http://127.0.0.1:9200;
      auth_basic "Restricted";
      auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
    }
  }
  location ~ ^/kibana-int/temp.*$ {
    proxy_pass http://127.0.0.1:9200;
    proxy_read_timeout 90;
    limit_except GET {
      proxy_pass http://127.0.0.1:9200;
      auth_basic "Restricted";
      auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
    }
  }
}
    
por 02.06.2014 / 20:23