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
Итак, полный ответ:
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;
}
}
Тем не менее, я не знаю почему, но первый запрос Kibana обслуживается очень медленно (40 секунд). Пробовал использовать apache httpd, это намного быстрее.
location /es(.*) {
proxy_pass http://localhost:9200/$args;
}
location /kibana(.*) {
proxy_pass http://localhost:5601/$args;
}
думаю, что в дополнительных комментариях нет необходимости
Отображения местоположения, предоставляемые koopa , можно упростить, чтобы не требовать команды перезаписи и использования регулярного выражения. Это указано в документации nginx proxy_pass
location /es/ {
proxy_pass http://localhost:9200/;
}
location /kibana/ {
proxy_pass http://localhost:5601/;
}