Kibana: server.basePath donne 404

Créé le 25 mars 2016  ·  14Commentaires  ·  Source: elastic/kibana

J'exécute kibana 4.4.1 sur RHEL 7.2

Tout fonctionne lorsque le fichier kibana.yml ne contient pas le paramètre server.basePath . Cependant, lorsque basePath est défini sur server.basePath: "/kibana4" toutes les requêtes HTTP génèrent des 404. Par exemple, http://xxxx :5601/kibana4 donne un 404 et http://xxxx :5601 est redirigé vers http://xxxx :5601/kibana4/app/kibana qui donne également un 404.

Est-ce que j'utilise correctement server.basePath ? Pourquoi tous les 404 ?

Commentaire le plus utile

Veuillez ajouter un exemple suffisant avec server.basepth. Beaucoup d'utilisateurs sont en difficulté à cause du manque de documentation.

Tous les 14 commentaires

Voici quelques informations supplémentaires...

curl http://x.x.x.x:5601/ retourne

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

curl http://x.x.x.x:5601/kibana4/app/kibana retourne

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

Pourquoi « /kibana4/app/kibana » renvoie-t-il un 404 ?

Nathan

@nreese c'est parce que le chemin de base doit être supprimé par le proxy avant que les demandes ne soient envoyées à Kibana. C'est ce qu'on appelle généralement la « réécriture de la demande » et n'importe quel nombre de messages doit exister pour vous montrer comment configurer cela pour votre proxy.

Pouvez-vous s'il vous plaît préciser comment cela fonctionne? je suis vraiment bloqué et je ne trouve pas
beaucoup d'aide dans la documentation

Le lundi 28 mars 2016 à 14h45, Spencer [email protected] a écrit :

@nreese https://github.com/nreese c'est parce que le chemin de base devrait
être supprimé par le mandataire avant que les demandes ne soient envoyées à Kibana. C'est
généralement appelé "requête de réécriture" et n'importe quel nombre de messages doit exister
pour vous montrer comment configurer cela pour votre proxy.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -202574432

Même problème ici. Et je trouve que cette configuration de nginx pourrait fonctionner : https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/ 5

J'ai finalement compris et posté une réponse au débordement de la pile en utilisant
HAProxy
http://stackoverflow.com/questions/36266776/kibana-server-basepath-results-in-404.
Je ne m'attendais pas à ce que server.basePath ajoute uniquement le chemin de base aux URL sortantes
et ne pas les gérer également sur le trafic entrant.

Le mar. 12 avril 2016 à 8h51, Feng Yu [email protected] a écrit :

Même problème ici. Et je trouve que cette configuration de nginx pourrait fonctionner :
https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/5

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -208945037

Veuillez ajouter un exemple suffisant avec server.basepth. Beaucoup d'utilisateurs sont en difficulté à cause du manque de documentation.

Ma recommandation serait de reformuler le verbiage pour le
configuration server.basePath
option dans la documentation. La formulation actuelle n'aide pas beaucoup
expliquer comment kibana utilise basePath. Mes premiers réflexes ont été d'ajouter le
basePath vers l'URL. Ceci était incorrect et a entraîné des 404. Peut-être
quelque chose comme ci-dessous orienterait les utilisateurs dans la bonne direction

Vous permet de spécifier un chemin pour monter Kibana si vous courez derrière
un proxy. La valeur basePath ne modifie pas l'adresse que kibana écoute
activé, à la place, votre proxy devrait supprimer la valeur basePath avant
transmettre les demandes à Kibana. Ce paramètre ne peut pas se terminer par une barre oblique (/).

Le jeu. 14 avril 2016 à 04h19, abhijit [email protected] a écrit :

Veuillez ajouter un exemple suffisant avec server.basepth. Beaucoup d'utilisateurs sont
en difficulté à cause du manque de documentation.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -209866755

C'est ridicule. La définition du chemin de base devrait en fait changer le chemin de base pour kibana et ne devrait nécessiter aucune réécriture de proxy inverse. Ce type de comportement est assez 101 dans les applications Web.

Je pense qu'il y a une certaine confusion ici. basePath existe spécifiquement pour les personnes qui souhaitent exécuter Kibana derrière un proxy. Ce n'est pas censé être une fonctionnalité utile à d'autres égards. Comme @nreese l'a dit, nous pouvons probablement améliorer la documentation pour que cela soit plus clair. J'ai ouvert un PR pour améliorer le libellé des docs : https://github.com/elastic/kibana/pull/8375

Je sais ce qu'est basePath et je l'utilise derrière un proxy inverse.
Je m'oppose au fait que je dois faire des réécritures d'URL sur le proxy pour que cela fonctionne.

Moi aussi. Je connais également ce qu'est basePath et je l'utilise derrière un proxy inverse.
Je m'oppose au fait que je dois faire des réécritures d'URL sur le proxy pour que cela fonctionne.

S'il te plaît...

Il serait probablement trivial pour nous de prendre en charge cela, mais nous ne pouvons pas simplement changer la façon dont basePath fonctionne à ce stade. Que pensez-vous de https://github.com/elastic/kibana/issues/9522 ?

Je suis d'accord, je viens de tomber sur exactement le même problème. crée beaucoup de travail supplémentaire sans raison. Si vous mettez à jour le chemin de base, cela devrait le changer. Le fait d'avoir des URL différentes rend le dépannage difficile.

J'ai obtenu ce travail sur ce système:

[09:39:17] [ root@hostname :]# yum list installé | grep kibana
kibana.x86_64 5.5.1-1 @/kibana-5.5.1-x86_64
[09:39:29] [ root@hostname :]# yum list installée | 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 (finale)
[09:39:58] [ root@hostname :]#

  • Suppression de 'server.basePath'
    Voici le fichier 'kibana.yml' complet :

[09:39:58] [ root@hostname :~]# cat /etc/kibana/kibana.yml
port.serveur : 5601
nom.serveur : Kibana-STG
serveur.hôte : 0.0.0.0
kibana.index: .kibana
kibana.defaultAppId : découvrir
logging.dest : /var/log/kibana/kibana.log
i18n.defaultLocale : "fr"

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

  • Ajout de cette configuration de proxy sur Apache

ProxyPreserveHost activé
ProxyRequests activé
ProxyPass / http://localhost :5601/ timeout=200
ProxyPassReverse / http://localhost :5601/

Cette page vous a été utile?
0 / 5 - 0 notes