переадресация URL в nginx

переадресация URL в nginx

Первый раз использую nginx. Хочу пересылать любой входящий запрос, который выглядит так: https://www.example.com/elasticsearchна http://localhost:9200с помощью nginx. Я написал следующее в своей конфигурации nginx в теге http.

server {
        listen 3333;
        server_name www.example.com/elasticsearch;
        return 301 $scheme://localhost:9200;
        location / {
                allow 'elasticsearch';
                deny all;
        }
}

К сожалению, при использовании nginx -tя получаю следующее сообщение:

nginx: [emerg] invalid parameter "elasticsearch" in /etc/nginx/nginx.conf:79

решение1

server_nameпараметр содержит только имя сервера, а не какой-либо URI на сервере.

Вы можете сделать переписывание следующим образом:

server {
    listen 3333;
    server_name www.example.com;
    location /elasticsearch {
        return 301 $scheme://localhost:9200;
    }
}

Если вы хотите запретить доступ к другим местоположениям, о которых говорится в вашей конфигурации, но не говорится в вашем вопросе, вы можете использовать этот locationблок в дополнение к вышеперечисленному:

location / {
    deny all;
}

Связанный контент