Kibana: server.basePath возвращает 404

Созданный на 25 мар. 2016  ·  14Комментарии  ·  Источник: elastic/kibana

Я запускаю kibana 4.4.1 на RHEL 7.2

Все работает, когда в файле kibana.yml нет настройки server.basePath . Однако, когда для параметра basePath установлено значение server.basePath: "/kibana4" все HTTP-запросы приводят к ошибкам 404. Например, http: // xxxx : 5601 / kibana4 приводит к 404, а http: // xxxx : 5601 перенаправляется на http: // xxxx : 5601 / kibana4 / app / kibana, что также приводит к 404.

Правильно ли я использую server.basePath? Почему все 404-е?

Самый полезный комментарий

Пожалуйста, добавьте достаточный пример с server.basepth. Многие пользователи испытывают трудности из-за отсутствия документации.

Все 14 Комментарий

Вот еще немного информации ...

curl http://x.x.x.x:5601/ возвращает

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

curl http://x.x.x.x:5601/kibana4/app/kibana возвращает

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

Почему '/ kibana4 / app / kibana' возвращает 404?

Натан

@nreese это связано с тем, что прокси-сервер должен удалить базовый путь перед отправкой запросов в Kibana. Обычно это называется «перезапись запроса», и должно существовать любое количество сообщений, чтобы показать вам, как настроить это для вашего прокси.

Не могли бы вы пояснить, как это работает? Я действительно застрял и не могу найти
большая помощь в документации

В понедельник, 28 марта 2016 г., в 14:45 Spencer [email protected] написал:

@nreese https://github.com/nreese это потому, что базовый путь должен
быть удалены прокси перед отправкой запросов в Kibana. Это
обычно называется "перезапись запроса", и должно существовать любое количество сообщений.
чтобы показать вам, как настроить это для вашего прокси.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -202574432

Здесь та же проблема. И я считаю, что эта конфигурация от nginx может работать: https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/ 5

В конце концов я понял это и отправил ответ на переполнение стека, используя
HAProxy
http://stackoverflow.com/questions/36266776/kibana-server-basepath-results-in-404.
Я не ожидал, что server.basePath добавит только базовый путь к исходящим URL-адресам.
и не обрабатывать их во входящем трафике.

Во вторник, 12 апреля 2016 г., в 8:51 Фэн Юй [email protected] написал:

Здесь та же проблема. И я считаю, что эта конфигурация от nginx может работать:
https://discuss.elastic.co/t/4-3-0-how-to-configure-your-nginx-balancer-and-apache-reverse-proxy/37351/5

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -208945037

Пожалуйста, добавьте достаточный пример с server.basepth. Многие пользователи испытывают трудности из-за отсутствия документации.

Я бы порекомендовал перефразировать словоблудие для
конфигурация server.basePath
вариант в документации. Текущая формулировка мало помогает
объясните, как в кибане используется basePath. Моим первым побуждением было добавить
basePath к URL-адресу. Это было неверно и привело к ошибке 404. Может быть
что-то вроде приведенного ниже укажет пользователям правильное направление

Позволяет указать путь к Кибане, если вы бежите позади
прокси. Значение basePath не меняет адрес, который прослушивает kibana.
вместо этого ожидается, что ваш прокси удалит значение basePath перед
пересылка запросов в Кибану. Этот параметр не может заканчиваться косой чертой (/).

14 апреля 2016 г., в 4:19, abhijit [email protected] написал:

Пожалуйста, добавьте достаточный пример с server.basepth. Многие пользователи
борется из-за отсутствия документации.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/elastic/kibana/issues/6665#issuecomment -209866755

Это смешно. Установка базового пути должна фактически изменить базовый путь для кибаны и не должна требовать перезаписи обратного прокси. Такое поведение довольно часто встречается в веб-приложениях.

Думаю, тут какая-то путаница. basePath существует специально для людей, которые хотят запускать Kibana через прокси. Это не должно быть полезной функцией ни в каком другом отношении. Как сказал @nreese, мы, вероятно, сможем улучшить документацию, чтобы сделать это более понятным. Я открыл PR, чтобы улучшить формулировку документов: https://github.com/elastic/kibana/pull/8375

Я знаю, что такое basePath, и использую его за обратным прокси.
Я возражаю против того, что мне нужно перезаписывать URL-адреса на прокси, чтобы заставить это работать.

Я тоже. Я также знаю, что такое basePath, и использую его за обратным прокси.
Я возражаю против того, что мне нужно перезаписывать URL-адреса на прокси, чтобы заставить это работать.

Пожалуйста...

Возможно, для нас было бы тривиально поддержать это, но мы не можем просто изменить способ работы basePath на данном этапе. Что вы думаете о https://github.com/elastic/kibana/issues/9522?

Я согласен, я только что наткнулся на ту же самую проблему. создает много лишней работы без причины. Если вы обновляете базовый путь, он должен его изменить. Наличие разных URL-адресов затрудняет устранение неполадок.

Я получил это, работая над этой системой:

[09:39:17] [ root @ hostname :] # установлен список yum | grep kibana
kibana.x86_64 5.5.1-1 @ / kibana-5.5.1-x86_64
[09:39:29] [ root @ hostname :] # установлен список yum | 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 @ имя хоста :] # uname -r
2.6.32-696.6.3.el6.x86_64
[09:39:47] [ root @ hostname :] # cat / etc / redhat-release
Релиз CentOS 6.9 (окончательный)
[09:39:58] [ root @ имя хоста :] #

  • Удален server.basePath.
    Вот полный файл kibana.yml:

[09:39:58] [ root @ имя хоста : ~] # cat /etc/kibana/kibana.yml
server.port: 5601
server.name: Kibana-STG
server.host: 0.0.0.0
kibana.index: .kibana
kibana.defaultAppId: обнаружить
logging.dest: /var/log/kibana/kibana.log
i18n.defaultLocale: "en"

elasticsearch.url: http: // localhost : 9200
[09:42:35] [ root @ имя хоста : ~] #

  • Добавлена ​​настройка прокси на Apache

ProxyPreserveHost On
ProxyRequests включен
ProxyPass / http: // localhost : 5601 / timeout = 200
ProxyPassReverse / http: // localhost : 5601 /

Была ли эта страница полезной?
0 / 5 - 0 рейтинги