Назад | Перейти на главную страницу

Скрипт nph поврежден в браузере с apache2 v 2.4

Я пытаюсь понять, почему nph-скрипт на Perl портится из браузера. Это код:

#!/usr/bin/perl

print "Content-Type: text/plain\n\n";

print "FOO";

Я называю это nph-test.cgi, а затем запускаю из браузера, получаю:

Если я скопирую тот же самый код и назову его test.cgi, выходит нормально:

Конфигурация apache:

<Directory "/home/foo/web/example.org/*">

    Options +ExecCGI +FollowSymLinks +MultiViews
    AllowOverride AuthConfig

    PerlResponseHandler ModPerl::Registry
    AddHandler perl-script .cgi .pl
    Options +ExecCGI
    PerlOptions +ParseHeaders
    AllowOverride All
    Require all granted

</Directory>

Что я делаю не так?

Версии бывают:

Apache 2.4.18 Perl 5.22.1

Хорошо, это не совсем то решение, которого я ожидал, но сработало. Все мои нф- сценарии находятся в папке / cgi-bin / admin, поэтому я добавил это как часть моей конфигурации Apache, чтобы отключить mod_perl:

<Directory "/home/user/web/example.com/public_html/cgi-bin/admin">

        Options MultiViews FollowSymLinks
        AllowOverride All
        Require all granted
        AddHandler cgi-script .cgi .pl
        Options +ExecCGI
        Options FollowSymLinks
</Directory>

Похоже, что mod_perl что-то портит с непроанализированными заголовками, но он немного выше моей зарплаты. Пока это работает, я думаю, все в порядке :) (просто подумал, что опубликую его на случай, если у кого-то еще есть такая же проблема)