POST /handle = 405

Igor Sysoev is at rambler-co.ru
Fri May 9 16:17:04 MSD 2008


On Fri, May 09, 2008 at 02:21:31PM +0400, Sergey Shepelev wrote:

> А /list это виртуальный запрос, его только бекенд поймет.
> 
> Насколько я понял, нужно сделать
> 
> location ~ (list|get-data|handle) { proxy_pass ...; }

Поскольку всё это делается на игрушечном cygwin'е, то можно и так, плюс
rewrite. Хуже не будет. На нормальном нагруженном сервере нужно делать так:

   location = / {
      proxy_pass  http://127.0.0.1:1955/list;
   }

> 2008/5/8 Igor Sysoev <is at rambler-co.ru>:
> > On Thu, May 08, 2008 at 03:18:13PM +0400, Sergey Shepelev wrote:
> >
> >>               location / {
> >>                       charset utf-8;
> >>                       rewrite ^/$ /list;
> >>                       root /cygdrive/d/projects/mas_ru-feedback;
> >>                       error_page 404 = @proxy_root;
> >>               }
> >>
> >>               location @proxy_root {
> >>                       proxy_pass http://127.0.0.1:1955;
> >>               }
> >>
> >> На 1955 слушает Django через CherryPy.
> >
> > Потому что /handle/ обрабатывается ngx_http_index_module, он ищет
> > /handle/index.html и тому подобное, не находит вызывает 404.
> >
> > /handle обрабатывается ngx_http_static_module, который не принимает POST
> > вообще. Скоро исправлю.
> >
> > Кстати, вместо
> >
> >      rewrite ^/$ /list;
> >
> > лучше сделать
> >
> >      location = / {
> >           alias  /list;
> >           ...
> >
> >> Борис Долгов пишет:
> >> >А "location /handle" или "location /handle/"?
> >> >
> >> >8 мая 2008 г. 13:40 пользователь Sergey Shepelev <temotor at gmail.com>
> >> >написал:
> >> >>Почему POST /handle = 405,
> >> >> а POST /handle/ = нормальный прокси на бекенд и возврат результата?
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list