Отв: Nginx+FastCGI+fcgiwrap обработчик perl работоспособен?
Oleg Ruso
soy_siberiano at yahoo.com
Thu Dec 25 16:27:04 UTC 2014
Да Дмитрий, конструкция проще, с этого и начинал. Скобки используются в расчёте гарантировать попадание имени файла в переменную.
На обработку cgi (Perl) скрипта передаётся урл вида:/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.
Скрипт должен возвратить страницу с предупреждением, вместо загрузки инфект. страницы или файла.
И ещё. Если вырубить fcgiwrap, сделать запрос http://ip/cgi-bin/index.cgi файл будет просто сохранён на диск. Следовательно, nginx обрабатывает запрос верно. Видимо, проблема в обработчике Perl - fcgiwrap. Но конфига нет, опции запуска:
fcgiwrap_enable="YES"fcgiwrap_socket="unix:/tmp/fcgiwrap.sock"fcgiwrap_user="www"
результат запуска выше. Отсюда и возник "?" работоспособности обработчика.
Может быть есть какие-то соображения по теме..... Вместо сокета можно испоьзовать сетевой стек..... но не хотелось бы.
четверг, 25 декабря 2014 2:29 Дима Редмайн <redmine24 at gmail.com> писал(а):
Немного офтопа:
location ~ ^/(.*\.cgi)$ -- зачем используется такая конструкция?
проще же: location ~ \.cgi$
данные в скобках могут попасть в $fastcgi_script_name или там в любом случае полное название файла?
2014-12-24 17:59 GMT+02:00 Oleg Ruso <soy_siberiano at yahoo.com>:
Доброго времени.
Пытаюсь заставить nginx обрабатывать cgi скрипты на perl.PHP FPM/FastCGI страницы возвращает, а вот c перлом проблема.
Ошибка 404, страница не найдена.
Параметры вопроса:Система FreeBSD 10.1-RC4.
nginx/1.7.7 опции сборки порта:----------------------------------------------------------- DEBUG=on: Build with debugging support HTTP=on: Enable HTTP module HTTP_CACHE=on: Enable http_cache module HTTP_PERL=on: Enable http_perl module !!! HTTP_REWRITE=on: Enable http_rewrite module HTTP_SSL=on: Enable http_ssl module HTTP_STATUS=on: Enable http_stub_status module MAIL_POP3=on: Enable POP3 proxy module MAIL_SMTP=on: Enable SMTP proxy module MAIL_SSL=on: Enable mail_ssl module WWW=on: Enable html sample files ----------------------------------------------------------fcgiwrap-1.1.0_2
----------------------------------------------------------Процессы:
#ps -aux | grep www | grep -v grepwww 708 0.0 0.7 100708 7060 - I 3:34AM 0:00.08 php-fpm: pool www (php-fpm)www 709 0.0 0.7 100708 7340 - I 3:34AM 0:00.12 php-fpm: pool www (php-fpm)www 982 0.0 0.2 14460 1932 - Is 4:21AM 0:00.00 daemon: /usr/local/sbin/fcgiwrap[983] (daemon)www 983 0.0 0.2 14444 1904 - I 4:21AM 0:00.00 /usr/local/sbin/fcgiwrap -s unix:/tmp/fcgiwrap.sockwww 1007 0.0 1.2 49388 11976 - S 4:24AM 0:00.05 nginx: worker process (nginx)www 1008 0.0 1.1 49388 11740 - I 4:24AM 0:00.04 nginx: worker process (nginx)
#sockstat | grep wwwwww nginx 1008 6 tcp4 *:80 *:*www nginx 1008 8 stream -> ??www nginx 1008 11 stream -> ??www nginx 1007 5 stream -> ??www nginx 1007 6 tcp4 *:80 *:*www nginx 1007 9 stream -> ??www fcgiwrap 983 0 stream /tmp/fcgiwrap.sockwww php-fpm 709 0 stream /tmp/php5-fpm.sockwww php-fpm 708 0 stream /tmp/php5-fpm.sock---------------------------------------------------Пермиссии сокетов
srw-rw---- 1 www www 0B Dec 24 03:34 /tmp/php5-fpm.socksrw-rw---- 1 root www 0B Dec 22 10:32 /tmp/fcgiwrap.sock-------------------------------------------------nginx.conf локэйшн для perl:
............ location ~ ^/(.*\.cgi)${try_files $uri =404;gzip off;fastcgi_param DOCUMENT_ROOT /www/www/cgi-bin;fastcgi_pass unix:/tmp/fcgiwrap.sock;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param SCRIPT_NAME $document_root$fastcgi_script_name;fastcgi_index index.cgi;include /usr/local/etc/nginx/fastcgi_params;}-------------------------------------------/www/www/cgi-bin-rw-r--r-- 1 root www 694B Dec 19 23:32 test.html-rwxrwx--- 1 root www 282B Dec 22 10:19 index.cgi------------------------------------------Страница test.html возвращается, index.cgi ошибка 404
В логе по этому поводу ничего. Специально на tail -f ждал ошибок.... ничего. Просто смотрелка возвращает 404.
Прошу помощи сообщества. Может кто-нибудь занимался и получил результат. Сам в тупике. Спасибо всем!
_______________________________________________
nginx-ru mailing list
nginx-ru at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20141225/fa5bb059/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru