2013-07-31 3 views
3

Я пытаюсь настроить nginx таким образом, чтобы он прокси запрашивал несколько мест. Например. /location1 и /location2 должны быть проксимизованы до http://localhost:8080. Я просто не могу понять, как настроить это, не используя несколько блоков местоположения. Я уже пробовал:nginx proxypass с несколькими местоположениями

location /(location1|location2) { 
    proxy_pass http://localhost:8080/ 
} 

который даст только 404s. И я также пробовал:

location ~ /(location1|location2) { 
    proxy_pass http://localhost:8080/ 
} 

Который выведет ошибку, когда регулярные выражения не допускаются с прокси-пропуском.

Можно ли настроить этот прокси-сервер, не создавая несколько блоков местоположения?

+0

не является проблемой для пропавших без вести ';'? –

+0

Это хороший вопрос. – Aley

+0

Вы можете попробовать эту конфигурацию 'location ~ ^/location [12] $ {return 200" $ uri ";}'. – xiaochen

ответ

0

Видимо, отсутствует косая черта и ';'. Попробуйте это:

location ~ (/location1|/location2) { proxy_pass http://localhost:8080; }

+0

Есть ли способ сделать это без привлечения регулярных выражений? Это похоже на тривиальный случай множества локаций, в которых вложенные директивы должны совпадать либо - вряд ли используется случай для извлечения большого пушка, который является сопоставлением шаблонов регулярных выражений, что неизменно является излишним накладным капиталом здесь. Я имею в виду, что картина является почти вырожденным случаем. – amn

Смежные вопросы