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