Kibana: server.basePath ergibt 404

Erstellt am 25. März 2016  ·  14Kommentare  ·  Quelle: elastic/kibana

Ich verwende Kibana 4.4.1 auf RHEL 7.2

Alles funktioniert, wenn die Datei kibana.yml nicht die Einstellung server.basePath . Wenn basePath jedoch auf server.basePath: "/kibana4" alle HTTP-Anfragen zu 404s. Zum Beispiel führt http://xxxx :5601/kibana4 zu einem 404 und http://xxxx :5601 wird zu http://xxxx :5601/kibana4/app/kibana umgeleitet, was ebenfalls zu einem 404 führt.

Verwende ich server.basePath richtig? Warum die ganzen 404er?

Hilfreichster Kommentar

Bitte fügen Sie genügend Beispiel mit server.basepth hinzu. Viele Benutzer haben Probleme wegen fehlender Dokumentation.

Alle 14 Kommentare

Hier noch ein paar Informationen...

curl http://x.x.x.x:5601/ zurück

<script>
   var hashRoute = '/kibana4/app/kibana';
   var defaultRoute = '/kibana4/app/kibana';
   ...
</script>

curl http://x.x.x.x:5601/kibana4/app/kibana zurück

{"statusCode":404,"error":"Not Found"}

Warum gibt '/kibana4/app/kibana' einen 404 zurück?

Nathan

@nreese Dies liegt daran, dass der Basispfad vom Proxy entfernt werden sollte, bevor Anfragen an Kibana gesendet werden. Dies wird im Allgemeinen als "Request Rewriting" bezeichnet und es sollte eine beliebige Anzahl von Beiträgen vorhanden sein, die Ihnen zeigen, wie Sie dies für Ihren Proxy einrichten.

Können Sie bitte klären, wie das funktioniert? Ich stecke wirklich fest und kann nicht finden
viel hilfe bei der dokumentation

Am Montag, 28. März 2016 um 14:45 Uhr schrieb Spencer [email protected] :

@nreese https://github.com/nreese das liegt daran, dass der Basispfad sollte
vom Proxy entfernt werden, bevor Anfragen an Kibana gesendet werden. Das ist
allgemein als "Request Rewriting" bezeichnet und es sollten beliebig viele Beiträge vorhanden sein
um Ihnen zu zeigen, wie Sie das für Ihren Proxy einrichten.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/elastic/kibana/issues/6665#issuecomment -202574432

Gleiches Problem hier. Und ich finde diese Konfiguration von nginx könnte funktionieren: https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/ 5

Ich habe es schließlich herausgefunden und eine Antwort auf Stack Overflow mit gepostet
HAProxy
http://stackoverflow.com/questions/36266776/kibana-server-basepath-results-in-404.
Ich habe nicht erwartet, dass server.basePath nur den Basispfad zu ausgehenden URLs hinzufügt
und behandeln sie nicht auch bei eingehendem Verkehr.

Am Dienstag, den 12. April 2016 um 8:51 Uhr schrieb Feng Yu [email protected] :

Gleiches Problem hier. Und ich finde diese Konfiguration von nginx könnte funktionieren:
https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/5


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/elastic/kibana/issues/6665#issuecomment -208945037

Bitte fügen Sie genügend Beispiel mit server.basepth hinzu. Viele Benutzer haben Probleme wegen fehlender Dokumentation.

Meine Empfehlung wäre, das Wort für die neu zu formulieren
server.basePath-Konfiguration
Option in der Dokumentation. Der aktuelle Wortlaut hilft wenig
Erklären Sie, wie Kibana basePath verwendet. Meine ersten Instinkte waren, die anzuhängen
basePath zur URL. Dies war falsch und führte zu 404s. Vielleicht
so etwas wie das untenstehende würde die Benutzer in die richtige Richtung weisen

Ermöglicht es Ihnen, einen Pfad zum Mounten von Kibana anzugeben, wenn Sie hinterher laufen
ein Stellvertreter. Der Wert basePath ändert nicht die Adresse, die Kibana abhört
on stattdessen wird erwartet, dass Ihr Proxy den basePath-Wert entfernt, bevor
Weiterleitung von Anfragen an Kibana. Diese Einstellung darf nicht mit einem Schrägstrich (/) enden.

Am Do, 14. April 2016 um 4:19 Uhr schrieb abhijit [email protected] :

Bitte fügen Sie genügend Beispiel mit server.basepth hinzu. Viele Benutzer sind
Probleme wegen fehlender Dokumentation.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/elastic/kibana/issues/6665#issuecomment -209866755

Das ist lächerlich. Das Festlegen des Basispfads sollte tatsächlich den Basispfad für Kibana ändern und kein Umschreiben des Reverse-Proxys erfordern. Diese Art von Verhalten ist in Webapps ziemlich 101.

Ich denke, hier herrscht einige Verwirrung. basePath existiert speziell für Leute, die Kibana hinter einem Proxy ausführen möchten. Es soll in keiner anderen Hinsicht eine nützliche Funktion sein. Wie @nreese sagte, können wir wahrscheinlich die Dokumentation verbessern, um dies klarer zu machen. Ich habe eine PR geöffnet, um den Wortlaut der Dokumente zu verbessern: https://github.com/elastic/kibana/pull/8375

Ich bin mir bewusst, was basePath ist und verwende es hinter einem Reverse-Proxy.
Ich widerspreche der Tatsache, dass ich URL-Umschreibungen auf dem Proxy durchführen muss, damit dies funktioniert.

Ich auch. Ich bin mir auch bewusst, was basePath ist und verwende es hinter einem Reverse-Proxy.
Ich widerspreche der Tatsache, dass ich URL-Umschreibungen auf dem Proxy durchführen muss, damit dies funktioniert.

Bitte...

Es wäre wahrscheinlich trivial für uns, dies zu unterstützen, aber wir können die Funktionsweise von basePath an dieser Stelle nicht einfach ändern. Was halten Sie von https://github.com/elastic/kibana/issues/9522?

Ich stimme zu, ich bin gerade über genau dieses Problem gestolpert. verursacht viel zusätzliche Arbeit ohne Grund. Wenn Sie den Basispfad aktualisieren, sollte er sich ändern. Unterschiedliche URLs erschweren die Fehlersuche.

Ich habe das auf diesem System zum Laufen gebracht:

[09:39:17] [ root@hostname :]# Yum-Liste installiert | grep kibana
kibana.x86_64 5.5.1-1 @/kibana-5.5.1-x86_64
[09:39:29] [ root@hostname :]# Yum-Liste installiert | grep httpd
httpd24u.x86_64 2.4.27-1.ius.el6 @ius
httpd24u-filesystem.noarch 2.4.27-1.ius.el6 @ius
httpd24u-mod_ldap.x86_64 2.4.27-1.ius.el6 @ius
httpd24u-mod_ssl.x86_64 1:2.4.27-1.ius.el6 @ius
httpd24u-tools.x86_64 2.4.27-1.ius.el6 @ius
[09:39:34] [ root@hostname :]# uname -r
2.6.32-696.6.3.el6.x86_64
[09:39:47] [ root@hostname :]# cat /etc/redhat-release
CentOS-Version 6.9 (Final)
[09:39:58] [ root@hostname :]#

  • 'server.basePath' entfernt
    Hier ist die vollständige Datei 'kibana.yml':

[09:39:58] [ root@hostname :~]# cat /etc/kibana/kibana.yml
server.port: 5601
server.name: Kibana-STG
server.host: 0.0.0.0
kibana.index: .kibana
kibana.defaultAppId: entdecken
login.dest: /var/log/kibana/kibana.log
i18n.defaultLocale: "de"

elastischesearch.url: http://localhost :9200
[09:42:35] [ root@hostname :~]#

  • Dieses Proxy-Setup auf Apache hinzugefügt

ProxyPreserveHost Ein
Proxy-Anfragen ein
ProxyPass / http://localhost :5601/ timeout=200
ProxyPassReverse / http://localhost :5601/

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen