LINUX.ORG.RU
ФорумAdmin

Как лучше всего перенаправить или проксировать GET/POST посредством nginx ?


1

2

Здравствуйте. Подскажите, как при помощи nginx лучше всего перенаправить/проксировать запросы такого вида:

Например так:

GET /xxx/data/:id возвращает файлы с именами id из каталога /www/store/

POST /xxx/data/:id проксирует все что приходит на http://127.0.0.1:4444/xxx/date - там запросы принимает сервер приложений.

Перемещено beastie из development

★★

Последнее исправление: ChAnton (всего исправлений: 1)

Не проверял, но примерно так:

location /xxx/data {
    alias /www/store;
    limit_except GET {
        proxy_pass http://127.0.0.1:4444/xxx/data;
    }
}

или

location /xxx/data {
    alias /www/store;
    if ($request_method = POST) {
        proxy_pass http://127.0.0.1:4444/xxx/data;
    }
}
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

GET должен отдавать:

GET /xxx/data/:id возвращает файлы с именами id из каталога /www/store/ - Файлы из каталога. Проксипасс на приложение для GET не нужно.

А POST:

POST /xxx/data/:id проксирует все что приходит на http://127.0.0.1:4444/xxx/date - там запросы принимает сервер приложений.

Тоесть они работают одновременно.

ChAnton ★★
() автор топика
Последнее исправление: ChAnton (всего исправлений: 3)
Ответ на: комментарий от ChAnton

Так и есть. За работоспособность конечно не ручаюсь (не проверял), но напомню, что конфиг nginx декларативный. Т.е. срабатывает то, что «лучше подходит». В данном случаи при post должен сработать proxy_pass. При не post — «fallback» (alias).

beastie ★★★★★
()
Ответ на: комментарий от ChAnton

Да и ещё — от порядка (с маленькими исключениями) не зависит.

beastie ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.