Как точно сопоставить местоположение nginx?

Я настраиваю прокси-сервер nginx revser. Результат должен быть, когда пользователь вводит http://10.21.169.13/mini, тогда запрос должен быть proxy_pass to 192.168.1.56:5000. Вот конфиг nginx:

server {
        listen 80;
        server_name 10.21.169.13;

        location = /mini {
                proxy_pass http://192.168.1.65:5000;
                include /etc/nginx/proxy_params;
        }
}

Приведенный выше блок location никогда не работал с http://10.21.169.13/mini. Единственный рабочий блок location:

server {
        listen 80;
        server_name 10.21.169.13;

        location  / {
                proxy_pass http://192.168.1.65:5000;
                include /etc/nginx/proxy_params;
        }
}

Но приведенная выше конфигурация также соответствует запросу http://10.21.169.13, что слишком сложно.

Какой блок location будет соответствовать только 'http://10.21.169.13/mini` и не более?

ОБНОВЛЕНИЕ: попробовал и не удалось со следующим:

 location  /mini {
                    proxy_pass http://192.168.1.65:5000;
                    include /etc/nginx/proxy_params;
            }

location  /mini/ {
                    proxy_pass http://192.168.1.65:5000;
                    include /etc/nginx/proxy_params;
            }

Ошибка request not found.


person user938363    schedule 20.03.2017    source источник
comment
Посмотрите журнал доступа. /mini может быть слишком строгим, но журнал доступа может рассказать вам, почему.   -  person Richard Smith    schedule 21.03.2017
comment
Журнал доступа в /opt/nginx/logs ничего не записывает.   -  person user938363    schedule 21.03.2017


Ответы (1)


Попробуйте это:

server {
    listen 80;
  server_name 10.21.169.13;

  # root /usr/share/nginx/html;
    # index index.html index.htm;

  location  / {
        # add something here to handle the root
        # try_files $uri $uri/ /index.html;
    }

  location  /mini {
    proxy_pass http://192.168.1.65:5000;
    include /etc/nginx/proxy_params;
    }

}

Дайте мне знать, если это работает для вас.

person Ray Hunter    schedule 20.03.2017
comment
srayhunter, есть ошибка 404 Not Found с конфигом выше. - person user938363; 21.03.2017
comment
@ user938363 вам нужно будет настроить закомментированный код для вашей текущей настройки. Поэтому, если у вас есть корневой каталог, вам нужно указать его, а затем раскомментировать строку try_files. - person Ray Hunter; 21.03.2017
comment
Корня нет. Nginx обеспечивает веб-доступ к OctoPrint, программному обеспечению для управления 3D-принтерами. - person user938363; 22.03.2017
comment
Я не уверен, что у вас там должно быть, но вам может понадобиться настроить корень, чтобы /mini обрабатывался правильно. - person Ray Hunter; 22.03.2017