これは kibana 4.0.1 で機能しました。また、ポート 5601 をリッスンしている nginx と同じホストで 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;
}
}
これは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;
}
(ここから)
あまりエレガントな解決策ではありませんが、それでも..
NB:この場合、Kibana 構成の server.basePath を「/」として設定する (またはまったくコメント化する) 必要があります