我在同一台服务器上运行kibana 4和elasticsearch。
我需要通过域访问kibana,但是当我尝试时,我一直找不到文件。
我只是在nginx中创建location / kibana,而proxy_pass是kibana的ip:端口。
谁有这个?
答案 0 :(得分:16)
这适用于kibana 4.0.1。 我假设你在nginx监听端口5601的同一主机上运行kibana。
您的nginx配置应如下所示:
server {
listen *:80 ;
server_name server;
access_log /var/log/nginx/kibana.srv-log-dev.log;
error_log /var/log/nginx/kibana.srv-log-dev.error.log;
location / {
root /var/www/kibana;
index index.html index.htm;
}
location ~ ^/kibana4/.* {
proxy_pass http://kibana4host:5601;
rewrite ^/kibana4/(.*) /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
}
}
行
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
可以使用,以便为站点提供基本身份验证。
访问链接将为 http://server/kibana4
答案 1 :(得分:6)
请勿使用位置,因为它在/
之后查找实际文件kibana4不是基于位置的,而是实际的服务
无论何时使用proxy_pass,都必须使用上游减速
这是一个使用http basic auth和SSL终止的工作配置
upstream kibana {
server 127.0.0.1:5601 fail_timeout=0;
}
server {
listen 80;
return 301 https://example.com;
}
server {
listen *:443 ;
ssl on;
ssl_certificate /etc/nginx/ssl/all.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
server_name example.com;
access_log /var/log/nginx/kibana.access.log;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://kibana;
}
}
答案 2 :(得分:4)
这对我来说对Kibana 4.6.1:
location ~ (/app/kibana|/bundles/|/kibana|/status|/plugins) {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
rewrite /kibana/(.*)$ /$1 break;
}
(来自here)
不太优雅的解决方案,但仍然......
注意:Kibana配置中的server.basePath必须设置为" /" (或者在这种情况下评论)
答案 3 :(得分:3)
我通过以下方式解决了这个问题:
location /kibana4/ {
proxy_pass http://host:5601/;
proxy_redirect http://host:5601/ /kibana4/;
}
我必须使用proxy_redirect来回复响应!
由于
答案 4 :(得分:0)
由于Kibana具有独立的前端和后端。您需要为双方设置两个代理。这在Kibana 7+中对我有效,而对Kibana配置文件没有任何更改:
set $proxy_pass_url http://localhost:5601;
# Main location which proxy's Kibana backend server
location / {
proxy_set_header Host $proxy_pass_url;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
proxy_set_header Authorization "";
proxy_pass $proxy_pass_url/;
proxy_redirect $proxy_pass_url/ /;
}
# Reverse proxy of assets and front end app
location ~ (/app|/translations|/node_modules|/built_assets/|/bundles|/es_admin|/plugins|/api|/ui|/elasticsearch) {
proxy_pass $proxy_pass_url;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Authorization "";
proxy_hide_header Authorization;
}