<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>