# Kibana behind Nginx - Discover : Not Found

**URL:** <https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899>\
**Category:** Kibana\
**Created:** [September 19, 2016, 2:11pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899 "2016-09-19T14:11:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![m0tek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m0tek/32/9656_2.png) [@m0tek](https://discuss.elastic.co/u/m0tek)\
**Post date:** [September 19, 2016, 2:11pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/1 "2016-09-19T14:11:14Z")

</div>

Hi guys ,  
Have a Kibana behind Nginx , Keep receiving this kind of messages from time to time - trying to understand how to debug it :S

Most of the times i receive data , but sometimes i receive the following error (usually when i first come into the system)

Any help?

 ![](https://us1.discourse-cdn.com/elastic/original/2X/8/8703c668f8ac0c5337cac8f5a6963d60d1d42edf.png)

---

<div class="post-metadata">

**Author:** ![jbudz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jbudz/32/45922_2.png) [@jbudz](https://discuss.elastic.co/u/jbudz)\
**Post date:** [September 19, 2016, 7:17pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/2 "2016-09-19T19:17:37Z")

</div>

Are you able to share your nginx config? It sounds like a route isn't being proxied correctly.

---

<div class="post-metadata">

**Author:** ![m0tek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m0tek/32/9656_2.png) [@m0tek](https://discuss.elastic.co/u/m0tek)\
**Post date:** [September 20, 2016, 11:52am UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/3 "2016-09-20T11:52:08Z")

</div>

This is the config :

server  
{  
listen 443;  
server\_name elk.localhost;  
auth\_basic "Restricted Access";  
auth\_basic\_user\_file /etc/nginx/htpasswd.users;  
location /  
{  
proxy\_pass [http://localhost:9200](http://localhost:9200);  
rewrite ^/es(.\*) /$1 break;  
}

```
location ~ ^/es.*$
{
    proxy_pass http://localhost:9200;
    rewrite ^/es(.*) /$1 break;
}

location /kibana 

```

{  
proxy\_pass [http://127.0.0.1:5601/app/kibana#/;](http://127.0.0.1:5601/app/kibana#/;)  
proxy\_http\_version 1.1;  
proxy\_set\_header Upgrade $http\_upgrade;  
proxy\_set\_header Connection "upgrade";  
proxy\_set\_header Host $host;  
}

location /bundles  
{  
proxy\_pass [http://127.0.0.1:5601/bundles;](http://127.0.0.1:5601/bundles;)  
proxy\_http\_version 1.1;  
proxy\_set\_header Upgrade $http\_upgrade;  
proxy\_set\_header Connection "upgrade";  
proxy\_set\_header Host $host;  
}

location /elasticsearch  
{  
proxy\_pass [http://127.0.0.1:5601/elasticsearch;](http://127.0.0.1:5601/elasticsearch;)  
proxy\_http\_version 1.1;  
proxy\_set\_header Upgrade $http\_upgrade;  
proxy\_set\_header Connection "upgrade";  
proxy\_set\_header Host $host;  
}

location /plugins  
{  
proxy\_pass [http://127.0.0.1:5601/plugins;](http://127.0.0.1:5601/plugins;)  
proxy\_http\_version 1.1;  
proxy\_set\_header Upgrade $http\_upgrade;  
proxy\_set\_header Connection "upgrade";  
proxy\_set\_header Host $host;  
}

location /app/  
{  
proxy\_pass [http://127.0.0.1:5601/app/;](http://127.0.0.1:5601/app/;)  
proxy\_http\_version 1.1;  
proxy\_set\_header Upgrade $http\_upgrade;  
proxy\_set\_header Connection "upgrade";  
proxy\_set\_header Host $host;  
}

location /rabbitmq/api/queues/ {  
proxy\_pass [http://localhost:15672/api/queues/%2F/;](http://localhost:15672/api/queues/%2F/;)  
}  
location /rabbitmq/api/exchanges/ {  
proxy\_pass [http://localhost:15672/api/exchanges/%2F/;](http://localhost:15672/api/exchanges/%2F/;)  
}  
location /rabbitmq/ {  
proxy\_pass [http://localhost:15672/;](http://localhost:15672/;)  
}

location ~ ^/kopf/._$ {  
proxy\_pass [http://localhost:9200](http://localhost:9200);  
rewrite ^/kopf(._) /\_plugin/kopf/$1 break;  
}

```
location ~ ^/hq.*$
{
    proxy_pass http://localhost:9200;
    rewrite ^/hq(.*) /_plugin/hq/$1 break;
}

error_page 403 /error/403.html;
error_page 404 /error/404.html;
error_page 405 /error/405.html;
error_page 500 501 502 503 504 /error/5xx.html;

location ^~ /error/
{
    internal;
    root /var/www/default;
}

```

}

---

<div class="post-metadata">

**Author:** ![jbudz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jbudz/32/45922_2.png) [@jbudz](https://discuss.elastic.co/u/jbudz)\
**Post date:** [September 20, 2016, 12:40pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/4 "2016-09-20T12:40:12Z")

</div>

Okay, some minor changes are needed I think:

```auto
location /kibana/
{
proxy_pass http://127.0.0.1:5601/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}

```

And then in config/kibana.yml make sure server.basePath is set to `/kibana`.

---

<div class="post-metadata">

**Author:** ![m0tek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m0tek/32/9656_2.png) [@m0tek](https://discuss.elastic.co/u/m0tek)\
**Post date:** [September 20, 2016, 6:35pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/5 "2016-09-20T18:35:54Z")

</div>

Hey ,  
With this config i am getting a 404 :S

--- Fix - My bad  
Getting too many redirects error (Chrome)

---

<div class="post-metadata">

**Author:** ![jbudz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jbudz/32/45922_2.png) [@jbudz](https://discuss.elastic.co/u/jbudz)\
**Post date:** [September 21, 2016, 1:40pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/6 "2016-09-21T13:40:37Z")

</div>

Hm, are you running shield? I'm coming up short otherwise, the only other thing i'd point out is the trailing slash for location /kibana/ is necessary.

---

<div class="post-metadata">

**Author:** ![m0tek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m0tek/32/9656_2.png) [@m0tek](https://discuss.elastic.co/u/m0tek)\
**Post date:** [September 21, 2016, 2:28pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/7 "2016-09-21T14:28:03Z")

</div>

No Shield

This is Nginx---\>Kibana

---

<div class="post-metadata">

**Author:** ![m0tek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m0tek/32/9656_2.png) [@m0tek](https://discuss.elastic.co/u/m0tek)\
**Post date:** [September 22, 2016, 6:56pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/8 "2016-09-22T18:56:41Z")

</div>

Guys , any idea what im doing wrong ? ☹

---

<div class="post-metadata">

**Author:** ![tatdat](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tatdat/32/113160_2.png) [@tatdat](https://discuss.elastic.co/u/tatdat)\
**Post date:** [September 23, 2016, 2:56am UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/9 "2016-09-23T02:56:44Z")

</div>

I don't understand , why do you have many config in nginx? ☹  
This is my config . I hope it will be useful for you .

```
server {
        listen 80;
        listen 443 ssl;
        server_name my.domain.com;
        #ssl on;
        ssl_certificate /etc/nginx/certificates/server.crt;
        ssl_certificate_key /etc/nginx/certificates/server.key;
        #ssl_dhparam /etc/nginx/conf.d/certificate/dhparams.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;

        if ($server_port = 80) {
                rewrite ^ https://$host$request_uri permanent;
        }

        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/htpasswd.users;

        location / {
                proxy_pass http://10.1.x.x:5601;
                #proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;

        }
    }

```

Of course, u can delete config SSL, and 10.1.x.x is my IP of ES cluster :).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:38pm UTC](https://discuss.elastic.co/t/kibana-behind-nginx-discover-not-found/60899/10 "2017-07-06T13:38:20Z")

</div>


