<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, без засечек;font-size:16px"><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><span id="yui_3_16_0_1_1419496708208_5327">Да Дмитрий, конструкция проще, с этого и начинал. Скобки используются в расчёте гарантировать попадание имени файла в переменную.  </span></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr">На обработку cgi (Perl) скрипта передаётся урл вида:</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr">/cgi-bin/clwarn.cgi?url=http://sams.perm.ru/tmp/!!!_virus_!!!/Joke.cpl&source=192.168.0.4&user=-&virus=stream: Worm.Bagle.AU FOUND.<br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr">Скрипт должен возвратить страницу с предупреждением, вместо загрузки инфект. страницы или файла.</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr">И ещё. Если вырубить fcgiwrap,  сделать запрос <a href="http://ip//cgi-bin/index.cgi" id="yui_3_16_0_1_1419496708208_10622">http://ip/cgi-bin/index.cgi</a> файл будет просто сохранён на диск. Следовательно, nginx обрабатывает запрос верно. Видимо, проблема в обработчике Perl - fcgiwrap. Но конфига нет, опции запуска:</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">fcgiwrap_enable="YES"</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">fcgiwrap_socket="unix:/tmp/fcgiwrap.sock"</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">fcgiwrap_user="www"<br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">результат запуска выше. </div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">Отсюда и возник "?" работоспособности обработчика.</div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style="">Может быть есть какие-то соображения по теме..... Вместо сокета можно испоьзовать сетевой стек..... но не хотелось бы. </div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr" class="" style=""><br></div><div class="" style="" id="yui_3_16_0_1_1419496708208_12496"><br class="" style=""></div><div class="" style="" dir="ltr" id="yui_3_16_0_1_1419496708208_9059"><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><br></div><div id="yui_3_16_0_1_1419496708208_5056" dir="ltr"><span><br></span></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, без засечек; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, без засечек; font-size: 16px;"> <div dir="ltr"> <font size="2" face="Arial"> четверг, 25 декабря 2014 2:29 Дима Редмайн <redmine24@gmail.com> писал(а):<br> </font> </div>  <br><br> <div class="y_msg_container"><div id="yiv6989806000"><div><div dir="ltr">Немного офтопа:<br clear="none"><br clear="none"><div><div><div><div dir="ltr">location ~ ^/(.*\.cgi)$ -- зачем используется такая конструкция? <br clear="none"></div><div>проще же: location ~ \.cgi$<br clear="none"><br clear="none"></div><div>данные в скобках могут попасть в $fastcgi_script_name или там в любом случае полное название файла? <br clear="none"></div><br clear="none"></div><br clear="none"></div></div></div><div class="yiv6989806000gmail_extra"><br clear="none"><div class="yiv6989806000gmail_quote">2014-12-24 17:59 GMT+02:00 Oleg Ruso <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:soy_siberiano@yahoo.com" target="_blank" href="mailto:soy_siberiano@yahoo.com">soy_siberiano@yahoo.com</a>></span>:<br clear="none"><blockquote class="yiv6989806000gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="yiv6989806000yqt9659959634" id="yiv6989806000yqt13688"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande,;font-size:16px;"><div dir="ltr">Доброго времени.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Пытаюсь заставить nginx обрабатывать cgi скрипты на perl.</div><div dir="ltr">PHP FPM/FastCGI  страницы возвращает, а вот c перлом проблема.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Ошибка 404, страница не найдена.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Параметры вопроса:</div><div dir="ltr">Система  FreeBSD 10.1-RC4.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">nginx/1.7.7 опции сборки порта:</div><div dir="ltr">-----------------------------------------------------------</div><div dir="ltr">     DEBUG=on: Build with debugging support</div><div dir="ltr">     HTTP=on: Enable HTTP module</div><div dir="ltr">     HTTP_CACHE=on: Enable http_cache module</div><div dir="ltr">     HTTP_PERL=on: Enable http_perl module<span style="white-space:pre-wrap;">     </span>!!!</div><div dir="ltr">     HTTP_REWRITE=on: Enable http_rewrite module</div><div dir="ltr">     HTTP_SSL=on: Enable http_ssl module</div><div dir="ltr">     HTTP_STATUS=on: Enable http_stub_status module</div><div dir="ltr">     MAIL_POP3=on: Enable POP3 proxy module</div><div dir="ltr">     MAIL_SMTP=on: Enable SMTP proxy module</div><div dir="ltr">     MAIL_SSL=on: Enable mail_ssl module</div><div dir="ltr">     WWW=on: Enable html sample files</div><div dir="ltr"> ----------------------------------------------------------</div><div dir="ltr">fcgiwrap-1.1.0_2<br clear="none"></div><div dir="ltr">----------------------------------------------------------</div><div dir="ltr">Процессы:</div><div dir="ltr"><br clear="none"></div><div dir="ltr">#ps -aux | grep www | grep -v grep</div><div dir="ltr">www    708   0.0  0.7 100708  7060  -  I     3:34AM   0:00.08 php-fpm: pool www (php-fpm)</div><div dir="ltr">www    709   0.0  0.7 100708  7340  -  I     3:34AM   0:00.12 php-fpm: pool www (php-fpm)</div><div dir="ltr">www    982   0.0  0.2  14460  1932  -  Is    4:21AM   0:00.00 daemon: /usr/local/sbin/fcgiwrap[983] (daemon)</div><div dir="ltr">www    983   0.0  0.2  14444  1904  -  I     4:21AM   0:00.00 /usr/local/sbin/fcgiwrap -s unix:/tmp/fcgiwrap.sock</div><div dir="ltr">www   1007   0.0  1.2  49388 11976  -  S     4:24AM   0:00.05 nginx: worker process (nginx)</div><div dir="ltr">www   1008   0.0  1.1  49388 11740  -  I     4:24AM   0:00.04 nginx: worker process (nginx)</div><div dir="ltr"><br clear="none"></div><div dir="ltr">#sockstat | grep www</div><div dir="ltr">www      nginx      1008  6  tcp4   *:80                  *:*</div><div dir="ltr">www      nginx      1008  8  stream -> ??</div><div dir="ltr">www      nginx      1008  11 stream -> ??</div><div dir="ltr">www      nginx      1007  5  stream -> ??</div><div dir="ltr">www      nginx      1007  6  tcp4   *:80                  *:*</div><div dir="ltr">www      nginx      1007  9  stream -> ??</div><div dir="ltr">www      fcgiwrap   983   0  stream /tmp/fcgiwrap.sock</div><div dir="ltr">www      php-fpm    709   0  stream /tmp/php5-fpm.sock</div><div dir="ltr">www      php-fpm    708   0  stream /tmp/php5-fpm.sock</div><div dir="ltr">---------------------------------------------------</div><div dir="ltr">Пермиссии сокетов</div><div dir="ltr"><br clear="none"></div><div dir="ltr">srw-rw----  1 www  www     0B Dec 24 03:34 /tmp/php5-fpm.sock</div><div dir="ltr">srw-rw----  1 root  www     0B Dec 22 10:32 /tmp/fcgiwrap.sock</div><div dir="ltr">-------------------------------------------------</div><div dir="ltr">nginx.conf  локэйшн для perl:</div><div dir="ltr"><br clear="none"></div><div dir="ltr">............</div><div dir="ltr"> location ~ ^/(.*\.cgi)$</div><div dir="ltr">{</div><div dir="ltr">try_files $uri =404;</div><div dir="ltr">gzip off;</div><div dir="ltr">fastcgi_param DOCUMENT_ROOT /www/www/cgi-bin;</div><div dir="ltr">fastcgi_pass unix:/tmp/fcgiwrap.sock;</div><div dir="ltr">fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</div><div dir="ltr">fastcgi_param SCRIPT_NAME $document_root$fastcgi_script_name;</div><div dir="ltr">fastcgi_index index.cgi;</div><div dir="ltr">include /usr/local/etc/nginx/fastcgi_params;</div><div dir="ltr">}</div><div>-------------------------------------------</div><div><div>/www/www/cgi-bin</div><div>-rw-r--r--  1 root  www   694B Dec 19 23:32 test.html</div><div>-rwxrwx---  1 root  www   282B Dec 22 10:19 index.cgi</div><div>------------------------------------------</div><div dir="ltr">Страница test.html возвращается,  index.cgi ошибка 404</div><div dir="ltr"><br clear="none"></div><div dir="ltr">В логе по этому поводу ничего. Специально на tail -f ждал ошибок.... ничего. Просто смотрелка возвращает 404.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Прошу помощи сообщества. Может кто-нибудь занимался и получил результат. Сам в тупике. </div><div dir="ltr">Спасибо всем!</div><div dir="ltr"><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr"> </div></div><div dir="ltr"><br clear="none"></div><div dir="ltr"><br clear="none"></div></div></div></div><br clear="none">_______________________________________________<br clear="none">
nginx-ru mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:nginx-ru@nginx.org" target="_blank" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br clear="none"></blockquote></div><br clear="none"></div>
</div></div><br><div class="yqt9659959634" id="yqt93905">_______________________________________________<br clear="none">nginx-ru mailing list<br clear="none"><a shape="rect" ymailto="mailto:nginx-ru@nginx.org" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br clear="none"><a shape="rect" href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div><br><br></div>  </div> </div>  </div> </div></body></html>