如何在nginx后面配置Kibana 4和elasticsearch?

Aym*_*man 7 linux nginx kibana-4

我有kibana 4和elasticsearch在同一台服务器上运行.

我需要通过域访问kibana,但是当我尝试时,我不断找到文件.

我只是在nginx中创建location/kibana,proxy_pass是kibana的ip:port.
谁有这个?

pse*_*bos 16

这适用于kibana 4.0.1.我假设你在nginx监听端口5601的同一主机上运行kibana.

您的nginx配置应如下所示:

server {
  listen                *:80 ;

  server_name           server;
  access_log            /var/log/nginx/kibana.srv-log-dev.log;
  error_log            /var/log/nginx/kibana.srv-log-dev.error.log;

  location / {
    root  /var/www/kibana;
    index  index.html  index.htm;
  }

  location ~ ^/kibana4/.* {
    proxy_pass http://kibana4host:5601;
    rewrite ^/kibana4/(.*) /$1 break;
    proxy_set_header Host $host;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
  }
}
Run Code Online (Sandbox Code Playgroud)

线条

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
Run Code Online (Sandbox Code Playgroud)

可以使用,以便您为站点提供基本身份验证.

访问链接将是http:// server/kibana4


Ami*_*oof 6

不要只使用位置,因为它在/之后寻找一个实际的文件

kibana4不是基于位置而是实际服务

无论何时使用proxy_pass,都必须使用上游减速

这是一个使用http basic auth和SSL终止的工作配置

upstream kibana {
    server 127.0.0.1:5601 fail_timeout=0;
}

server {
    listen      80;
    return 301 https://example.com;
}

server {
  listen                *:443 ;
  ssl on;
  ssl_certificate /etc/nginx/ssl/all.crt;
  ssl_certificate_key /etc/nginx/ssl/server.key;

  server_name           example.com;
  access_log            /var/log/nginx/kibana.access.log;

  location / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
    proxy_pass http://kibana;
  }
}
Run Code Online (Sandbox Code Playgroud)


62m*_*mkv 5

这在 Kibana 4.6.1 中对我有用:

location ~ (/app/kibana|/bundles/|/kibana|/status|/plugins) {
    proxy_pass http://localhost:5601;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    rewrite /kibana/(.*)$ /$1 break;
}
Run Code Online (Sandbox Code Playgroud)

(从这里

不是一个优雅的解决方案,但仍然..

注意:在这种情况下,Kibana 配置中的 server.basePath 必须设置为“/”(或完全注释)


Aym*_*man 3

我通过以下方法修复了它:

location /kibana4/ {
proxy_pass http://host:5601/;
proxy_redirect http://host:5601/ /kibana4/;
}
Run Code Online (Sandbox Code Playgroud)

我必须使用 proxy_redirect 才能返回响应!

谢谢