2016-01-17 6 views
3

Привет Я пытаюсь заставить следующее работать!Вложенные местоположения в nginx

Я в основном пытаются разрешить следующие URL-адреса, которые будут переданы директивы proxy_pass либо из этих двух URLS:

http://example.com/admin/1 или http://example.com/admin/2/

У меня есть следующие конфигурации:

location /admin/ { 

     # Access shellinabox via proxy 
     location 1/ { 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://example.com; 
     } 

} 

В настоящий момент выдается ошибка:

2016/01/17 15:02:19 [emerg] 1#1: location "1/" is outside location "/admin/" in /etc/nginx/conf.d/XXX.conf:37 
nginx: [emerg] location "1/" is outside location "/admin/" in /etc/nginx/conf.d/XXX.conf:37 

ответ

8

Вы должны использовать /admin/1/ в своем внутреннем блоке местоположения, так как внутренние URL-адреса не относятся к внешним URL-адресам. Вы можете видеть, что это проблема, основанная на следующем фрагменте из сообщения об ошибке, которое вы включили ...

location "1/" is outside location "/admin/" 
+0

0 спасибо, я надеялся, что это не так, поскольку я не хотел, чтобы изменить несколько строк, если я просто изменил/admin/например ... – geekscrap

+1

Используйте современный текстовый редактор и одновременно меняйте все строки с помощью нескольких курсоров – isapir