Esto funcionó para kibana 4.0.1 y asumo que ejecutas kibana en el mismo host que nginx escuchando el puerto 5601.
Su configuración de nginx debería verse así:
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;
  }
}
 Las lineas
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd;
 se puede utilizar para proporcionar una autenticación básica al sitio.
El enlace de acceso será http://server/kibana4
no use solo la ubicación porque está buscando un archivo real después de /
kibana4 no se basa en la ubicación sino en un servicio real
siempre que use proxy_pass, debe usar la desaceleración ascendente con él
aquí hay una configuración de trabajo con autenticación básica http y terminación 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;
  }
}
 esto funcionó para mí con 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;
}
 (desde aquí)
No es una solución muy elegante, pero aun así...
NB:server.basePath en la configuración de Kibana debe configurarse como "/" (o comentarse) en este caso