GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie konfiguriere ich Kibana 4 und Elasticsearch hinter Nginx?

Dies funktionierte für Kibana 4.0.1. und ich gehe davon aus, dass Sie Kibana auf demselben Host ausführen wie Nginx, das Port 5601 überwacht.

Ihre nginx-Konfiguration sollte folgendermaßen aussehen:

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

Die Zeilen

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;

kann verwendet werden, damit Sie eine grundlegende Authentifizierung für die Website bereitstellen.

Der Zugriffslink lautet http://server/kibana4


Verwenden Sie nicht nur den Standort, da nach /

nach einer tatsächlichen Datei gesucht wird

kibana4 ist nicht standortbasiert, sondern ein tatsächlicher Dienst

Immer wenn Sie proxy_pass verwenden, müssen Sie die Upstream-Verzögerung verwenden

Hier ist eine funktionierende Konfiguration mit HTTP-Basisauthentifizierung und SSL-Terminierung

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

das hat bei mir mit Kibana 4.6.1 funktioniert:

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

(von hier)

Keine ganz elegante Lösung, aber trotzdem..

NB:server.basePath in der Kibana-Konfiguration muss in diesem Fall als "/" gesetzt (oder überhaupt kommentiert) werden


Linux
  1. So installieren Sie Elasticsearch, Logstash und Kibana 4 auf Ubuntu 14.04 / 15.04

  2. So installieren und konfigurieren Sie Elasticsearch unter Rocky Linux 8

  3. So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 18.04

  5. So installieren und konfigurieren Sie Nginx von der Quelle unter Linux

So konfigurieren Sie NGINX auf einem CentOS 7-Server

So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04

So installieren und konfigurieren Sie Supervisor unter Ubuntu 20.04

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie NGINX und PHP auf Jelastic Cloud

So installieren und konfigurieren Sie Elasticsearch auf einem Linux-System