Предоставить конкретную панель управления Kibana за статическим URL-адресом через прокси-сервер Apache/Nginx
У нас есть установка Kibana 5.5.2 на Centos 7 с множеством настроенных панелей мониторинга, все отлично работает при подключении к IP:5601.
Клиент попросил нас предоставить доступ к его собственной панели инструментов под определенным именем хоста. Мы перепробовали множество конфигураций через Apache и Nginx-прокси, но у нас ничего не получилось.
Здесь вы более подробно:
- Клиент хочет перейти на что-то вроде http://dasboard.customer.com/ и увидеть панель управления во встроенном режиме (полный экран). URL-адрес должен оставаться "статичным" (без контекста или значений, добавленных за.com)
мы настроили Apache для прокси этого Виртуального хоста к определенному "короткому URL снимка", данному Kibana (тот, у которого
/goto/some-alphanumeric-code context), но мы получаем много Kibana
ошибки или 404 (может быть, многие ресурсы теряются и не перераспределяются с такого рода proxyPass)ProxyPass / http://10.10.102.4:5601/goto/be563e821f356144222a28b348e48a2d?embed=true nocanon
Может ли кто-нибудь дать нам какой-нибудь совет или пример? Спросите меня, если вам нужна дополнительная информация.
Большое спасибо!
2 ответа
Как подсказал @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>
Если вы используете подписанные CA сертификаты SSL (а не самозаверяющие), браузеры не жалуются на iframes.
У меня была такая же проблема. Мы хотели показать некоторые панели мониторинга в приложении портала, которое было открыто доступно, но kibana находился в частной подсети, к которой вы могли получить доступ только с того сервера, на котором был включен портал, или через 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;
}