1

Totally new to nginx, I need a conf file to make nginx act as a reverse proxy to serve request on the same host to elasticsearch and kibana with different url path. I mean, I want:

localhost/es -> localhost:9200
localhost/kibana -> localhost:5601

How can I make it?

Thank you

3 Answers 3

6

So, the complete answer is:

server {
    listen 80;
    server_name $hostname localhost;

    auth_basic "Restricted";
    auth_basic_user_file pathtofile;

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

still, I don't know why, but Kibana first request is served very slowly (40secs). Tried with apache httpd and it's way much faster.

0
location /es(.*) {
        proxy_pass http://localhost:9200/$args;
}

location /kibana(.*) {
        proxy_pass http://localhost:5601/$args;
}

think there is no need in additional comments

1
  • rewrite instruction needed. Like rewrite /es/(.*) /$1 break; Jul 19, 2018 at 6:59
0

The location mappings provided by koopa can be simplified to not require the rewrite command and use of regex. This is stated in the nginx proxy_pass documentation

location /es/ {
    proxy_pass http://localhost:9200/;
}

location /kibana/ {
    proxy_pass http://localhost:5601/;
}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .