405 Not Allowed, post in internal proxy pass

Igor Sysoev is at rambler-co.ru
Wed Nov 8 23:13:10 MSK 2006


On Wed, 8 Nov 2006, Oleg I. wrote:

> Здравствуйте,
> есть конфигурация:
>
>    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





More information about the nginx-ru mailing list