Здравствуйте,
есть конфигурация:
server {
listen 192.168.1.1:80;
server_name www.host;
access_log logs/champ.access.log main;
location / {
root /www/host/html/;
access_log logs/host-a.txt main;
error_page 404 = /_backhost_/;
error_page 403 = /_backhost_/;
}
location /_backhost_/ {
internal;
proxy_read_timeout 5m;
fastcgi_read_timeout 5m;
proxy_pass http://192.168.2.2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
access_log logs/host-b.txt main;
}
}
Тоесть если запрашиваемый файл есть в /www/host/html/, то отдаём его.
Если нет, то спрашиваем у http://192.168.2.2;
Проблема: в случае передачи данных методом пост на скрипт лежащий по адресу:
http://www.host/folder/script.php (при этом этого файла нет в
/www/host/html/, но он есть
у бэкэнда http://192.168.2.2), nginx выдаёт:
405 Not Allowed
nginx/0.4.12
Пожалуйста порекомендуйте как в рамках данной концепции правильно описать
конфиг, или укажите где я ошибся.
POSTить в статику нельзя. По идее можно сделать так:
error_page 403 404 405 = /_backhost_/;
Игорь Сысоев
http://sysoev.ru