URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6790
[ Назад ]

Исходное сообщение
"nginx+php-fpm  не все заработало от ipb"

Отправлено Pascal , 22-Мрт-10 08:39 
Помогите разобраться.

nginx не передает в php-fpm вот такой урл
h__p://84.x.x.x/public/min/index.php?f=public/style_css/css_1/calendar_select.css,public/style_css/css_1/ipb_editor.css,public/style_css/css_1/ipb_styles.css
Ошибка HTTP/1.0 400 Bad Request

nginx.forum.log:

84.y.y.y - - [22/Mar/2010:05:28:44 +0000] "GET /public/min/index.php?f=public/style_css/css_1/calendar_select.css,public/style_css/css_1/ipb_editor.css,
public/style_css/css_1/ipb_styles.css HTTP/1.1" 400 218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.
30729)" "-"

php-fpm.log:
пустой, с уровнем логирования debug

т.е. однозначно nginx не пропускает такой урл.


конфиг nginx

****
        location / {
            fastcgi_pass   127.0.0.1:3000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
            include        fastcgi_params;
        }

        location / {
            root   /home/www/;
            index  index.php index.html index.htm;
        }

***
даже пробовал так
***
        location / {
            fastcgi_pass   127.0.0.1:3000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
            include        fastcgi_params;
        }
***

Спасибо!


Содержание

Сообщения в этом обсуждении
"nginx+php-fpm  не все заработало от ipb"
Отправлено Michael , 22-Мрт-10 09:33 
          
>fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;

а путь к скрипту прописать не пробовали или считаете, что fpm должен сам найти нужный файл на диске?


"nginx+php-fpm  не все заработало от ipb"
Отправлено Pascal , 22-Мрт-10 10:48 
>
>>fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
>
>а путь к скрипту прописать не пробовали или считаете, что fpm должен
>сам найти нужный файл на диске?

и путь я пробовал прописывать
Если прописываешь путь, то пишет No input file specified.
И это логично, т.к. у меня в php-fpm.conf указанно
<value name="chroot">/home/www</value>

все *.php обрабатываются, кроме вот этой длинной строчки и ещё подобных ей


"nginx+php-fpm  не все заработало от ipb"
Отправлено Pascal , 22-Мрт-10 10:56 
>[оверквотинг удален]
>>а путь к скрипту прописать не пробовали или считаете, что fpm должен
>>сам найти нужный файл на диске?
>
>и путь я пробовал прописывать
>Если прописываешь путь, то пишет No input file specified.
>И это логично, т.к. у меня в php-fpm.conf указанно
><value name="chroot">/home/www</value>
>
>все *.php обрабатываются, кроме вот этой длинной строчки и ещё подобных ей
>

хотя, если чрут убрать, а пусть к скрпиту указать, то все норм получилось!
но без чрута страшненько...


"nginx+php-fpm  не все заработало от ipb"
Отправлено cuad0 , 23-Мрт-10 12:38 
>[оверквотинг удален]
>>Если прописываешь путь, то пишет No input file specified.
>>И это логично, т.к. у меня в php-fpm.conf указанно
>><value name="chroot">/home/www</value>
>>
>>все *.php обрабатываются, кроме вот этой длинной строчки и ещё подобных ей
>>
>
>хотя, если чрут убрать, а пусть к скрпиту указать, то все норм
>получилось!
>но без чрута страшненько...

А вы в чруте путь указываете относительно чрута или настоящего "/" ?


"nginx+php-fpm  не все заработало от ipb"
Отправлено Pascal , 23-Мрт-10 12:46 
>[оверквотинг удален]
>>>
>>>все *.php обрабатываются, кроме вот этой длинной строчки и ещё подобных ей
>>>
>>
>>хотя, если чрут убрать, а пусть к скрпиту указать, то все норм
>>получилось!
>>но без чрута страшненько...
>
>А вы в чруте путь указываете относительно чрута или настоящего "/" ?
>

относительно корня системы


"nginx+php-fpm  не все заработало от ipb"
Отправлено cuad0 , 23-Мрт-10 14:05 
>>хотя, если чрут убрать, а пусть к скрпиту указать, то все норм
>>получилось!
>относительно корня системы

имхо, ответ очевиден


"nginx+php-fpm  не все заработало от ipb"
Отправлено Pascal , 23-Мрт-10 16:37 
>>>хотя, если чрут убрать, а пусть к скрпиту указать, то все норм
>>>получилось!
>>относительно корня системы
>
>имхо, ответ очевиден

делалось по доке: http://wiki.firstvds.ru/index.php/%D0%92%D1&#...

сайт лежит тут:
/home/www

И каков может быть ваш ответ? у меня даже мыслей нет...
Заранее спасибо за помощь.


"nginx+php-fpm  не все заработало от ipb"
Отправлено cuad0 , 23-Мрт-10 17:17 
Есчессно, не сильно вникал в глубокую суть вопроса, но если при равной конфигурации без chroot все работает, а в chroot - нет, то ошибка может быть в неверном указании путей.
Под "chroot /home/www" путь /home/www для кого-либо будет равен /home/www/home/www реальному. Просто частая ошибка, и пути указывают относительно корня системы, а не chroot-а.

"nginx+php-fpm  не все заработало от ipb"
Отправлено Pascal , 23-Мрт-10 18:35 
>Есчессно, не сильно вникал в глубокую суть вопроса, но если при равной
>конфигурации без chroot все работает, а в chroot - нет, то
>ошибка может быть в неверном указании путей.
>Под "chroot /home/www" путь /home/www для кого-либо будет равен /home/www/home/www реальному. Просто
>частая ошибка, и пути указывают относительно корня системы, а не chroot-а.
>

Ну да, у меня так и стояло.
в пхп
chroot /home/www

а в нгниксе я путь не передавал, т.е. скрипты выполнялись от корня чрута.
и они выполнялись!!! все, кроме длинных запросов.


"nginx+php-fpm  не все заработало от ipb"
Отправлено cuad0 , 23-Мрт-10 19:01 
Ну хорошо, пусть не в чруте дело. Надо тогда смотреть, откуда растут ноги у 400 ошибки. Покопайтесь в той стороне, откуда идет злополучный GET, поглядите что за заголовки для запроса там собираются.
Попробуйте выполнить http://.../public/min/index.php?a=1,2
http://.../public/min/index.php?a=1/2,3/4
...
Место для фантазии тут еще осталось...