如何configurationnginx背后的Kibana 4和elasticsearch?

我有kibana 4和elasticsearch在同一台服务器上运行。

我需要通过域访问kibana,但是当我尝试我不断收到文件找不到。

我只是在nginx中创buildlocation / kibana,proxy_pass是kibana的ip:port。
任何人有这个?

这为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

不要只是使用位置,因为它寻找一个实际的文件后/

kibana4不是基于位置的,而是实际的服务

无论何时使用proxy_pass,您都必须使用上游的减速度

这里有一个工作配置与http基本身份验证,和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; } } 

我通过以下方式解决了这个问题

 location /kibana4/ { proxy_pass http://host:5601/; proxy_redirect http://host:5601/ /kibana4/; } 

我不得不使用proxy_redirect来回应!

谢谢

这对我来说与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; } 

(从这里 )

不是一个优雅的解决方案,但仍然..

注意:在这种情况下,Kibana配置中的server.basePath必须被设置为“/”(或者根本没有注释)