Labutin
Новичок
Как в nginx только POST запросы перенаправлять на другой адрес?
Все запросы сейчас идут на fastcgi.
upstream backend {
server 127.0.0.1:8889;
server 127.0.0.1:8888;
}
server {
listen 80;
location ~* \.(phtml|php) {
root /home/www/htdocs;
fastcgi_pass backend;
....
}
Вот так я перенаправляю запрос в корень на каталог mydir (так нужно и это работает):
location / {
root /home/www/htdocs;
set $concat "$request_method?$args";
if ($concat = "GET?") {
rewrite ^/$ http://$host/mydir/ redirect;
}
Но вот никак не пойму, как мне POST запрос, приходящий на URL / перенаправить на другой сервер: http://localhost:81
Пробовал так внутри этого же location:
set $concat "$request_method?$args";
if ($request_method = "POST?") {
proxy_pass http://localhost:81/;
}
nginx говорит, что proxy_pass тут нельзя использовать
Что посоветуете в моем случае?
-~{}~ 02.11.07 21:41:
nginx версии 0.5.26
Все запросы сейчас идут на fastcgi.
upstream backend {
server 127.0.0.1:8889;
server 127.0.0.1:8888;
}
server {
listen 80;
location ~* \.(phtml|php) {
root /home/www/htdocs;
fastcgi_pass backend;
....
}
Вот так я перенаправляю запрос в корень на каталог mydir (так нужно и это работает):
location / {
root /home/www/htdocs;
set $concat "$request_method?$args";
if ($concat = "GET?") {
rewrite ^/$ http://$host/mydir/ redirect;
}
Но вот никак не пойму, как мне POST запрос, приходящий на URL / перенаправить на другой сервер: http://localhost:81
Пробовал так внутри этого же location:
set $concat "$request_method?$args";
if ($request_method = "POST?") {
proxy_pass http://localhost:81/;
}
nginx говорит, что proxy_pass тут нельзя использовать

Что посоветуете в моем случае?
-~{}~ 02.11.07 21:41:
nginx версии 0.5.26