Назад | Перейти на главную страницу

Предоставление определенной панели управления Kibana за статическим URL-адресом через прокси-сервер Apache / Nginx

У нас есть установка Kibana 5.5.2 на Centos 7 со многими настроенными панелями мониторинга, все отлично работает при подключении к IP: 5601.

Клиент попросил нас разрешить доступ к его собственной панели управления под определенным именем хоста. Мы перепробовали множество конфигураций через прокси Apache и Nginx, но у нас ничего не вышло.

Вот подробности:

Может кто-нибудь дать нам совет или пример? Спросите меня, нужна ли вам дополнительная информация.

Большое спасибо!

Как предположил @Mike во втором комментарии, в конце концов я просто использовал iframe, предоставляемый Apache.

В /var/www/html/index.html:

<html>
<head>
  <style>
    body {
      margin: 0;
    }

    iframe {
      max-width: 100%;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border: none;
      margin: auto;
    }
  </style>
</head>
<body>
  <iframe
    src="https://localhost:5601/goto/59a0cd9d5b20600031114818b6ac0dd5?embed=true"
    scrolling="yes"
  ></iframe>
</body>
</html>

При использовании сертификатов SSL, подписанных ЦС (а не самозаверяющих), браузеры не жалуются на фреймы.

Так что у меня была такая же проблема. Мы хотели показать некоторые информационные панели в приложении портала, которое было открыто публично, но кибана находилась в частной подсети, к которой вы могли получить доступ только с того сервера, на котором находился портал, или через VPN, если вы были пользователем.

Итак, моя конфигурация nginx выглядела так

resolver 10.10.0.2;
set $kibana_endpoint https://kibana.prod.domain.com;

Вам нужна была строка преобразователя для set работать, если я правильно помню. Это должен быть ваш DNS-сервер. Вероятно, это не понадобится, если вы используете IP и

Затем мы создали URI для панели, которую хотели показать, которая была

#
# allows non-vpn users to see API dashboard
location /view/platform/ {
    rewrite ^/view/platform/(.*) /$1 break;
    proxy_pass $kibana_endpoint;
}