nginx + apache2 proxy pass, с mod_perl not работает

Я пытаюсь заставить mod_perl работать с Apache / 2.4.18 (Ubuntu) . Вот мой основной файл конфигурации домена в Apache2:

<Virtualhost 0.0.0.0:8181>

    ServerName test
    DocumentRoot /srv/www/test.pro/www
    ErrorLog /srv/www/test.pro/logs/error.log

    <Directory "/srv/www/test.pro/www">
        Options MultiViews FollowSymLinks
        AllowOverride all
        Require all granted
    </Directory>

    ScriptAlias /cgi-bin /srv/www/test.pro/www/cgi-bin
    <Directory "/srv/www/test.pro/www/cgi-bin">
        AddHandler cgi-script .cgi
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted
        SetHandler cgi-script
     </Directory>

    <Location />
        LimitRequestBody 5242880
    </Location>
</VirtualHost>

Этот код действительно работает ... но не с mod_perl. Так что я' В соединении отказано) при подключении к восходящему потоку, клиент: 81.174.134.xx, сервер: test.pro, запрос: «GET /cgi-bin/trust/admin/admin.cgi HTTP / 2.0», восходящий поток: " http://127.0.0.1:8181/cgi-bin/trust/admin/admin.cgi ", хост: "test.pro"

Я не понимаю, что делаю неправильно: / Может ли кто-нибудь пролить свет на то, что мне не хватает? У меня все нормально работает на Apache / 2.4.17 (Debian) на другом сервере, поэтому я не могу понять, что я здесь делаю не так.

Спасибо!

ОБНОВЛЕНИЕ : Ммм, похоже, мой скрипт вызывает проблему, но я не уверен, почему. Если я закомментирую эту строку, все работает:

PerlRequire  /srv/www/test.pro/startup.pl

Я не могу понять, почему, поскольку я не получаю ошибок (или даже предупреждений!) При остановке / запуске / перезапуске Apache: /

** ОБНОВЛЕНИЕ 2 : **: Я подхожу ближе!

Не могу загрузить файл Perl: /srv/www/test.pro/startup.pl для тестирования сервера: 0, выход ...

Я дважды проверил, что - это правильный путь, и он отлично работает, когда я запускаю его с:

perl /srv/www/test.pro/startup.pl

... поэтому я немного сбит с толку, почему он жалуется!

1
задан 28 March 2017 в 16:54
1 ответ

Эх, ну, я не уверен, насколько это будет полезно для тех, кто столкнется с этим в будущем, но я все равно отправлю его - на всякий случай, если это кому-то поможет!

Проблема заключалась в том, что мне не хватало буквально 1 модуля: Apache :: DBI , который был загружен одним из скриптов загрузчика mod_perl, вызываемых внутри startup.pl.

Почему, ну почему это не могло » на самом деле я получил ошибку (или что-то в STDERR), которая была немного более полезной, я никогда не узнаю.

В любом случае, мораль этой истории состоит в том, чтобы проверить, что ВСЕ модули, которые вы пытаетесь вызвать, являются фактически установлено :)

1
ответ дан 3 December 2019 в 23:32

Теги

Похожие вопросы