Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx REST
Hello!
On Tue, May 22, 2012 at 03:57:37PM -0400, x00xer wrote:
> возникла так же нобходимость сделать
> RESTfull сервис.
> nginx настроен отправлять все запросы к
> PHP в php-fpm сокет:
>
>
> location ~ \.php$ {
> include /etc/nginx/fastcgi_params;
> fastcgi_pass unix:/tmp/php5-fpm.sock;
> fastcgi_param SCRIPT_FILENAME /htdocs$fastcgi_script_name;
> fastcgi_param PATH_INFO $fastcgi_script_name;
> fastcgi_param DOCUMENT_ROOT /htdocs;
> }
>
> если с клиента делаю PUT или DELETE в ответ
> получаю:
>
> спасибо.
> <html>
> <head><title>405 Not Allowed</title></head>
> <body bgcolor="white">
> <center><h1>405 Not Allowed</h1></center>
> <hr><center>nginx</center>
> </body>
> </html>
>
>
> каким образом разрешить данные методы
> в nginx'e ?
Отправить таки на обработку в fastcgi. Для передаваемых на бекенд
запросов nginx разрешает любые методы, кроме TRACE. У вас, судя
по ответу, запрос попадает не на бекенд, а на статический файл.
Что, в общем, логично: если сервис действительно restfull, то
привёдённая выше обработка *.php явно недостаточна, надо делать
как-то так:
location / {
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME /htdocs/index.php;
...
}
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|