Разделение Nginx fastcgi соединяет информацию каналом с почтальоном

я использую почтальона с nginx для получения его веб-интерфейса эта моя конфигурация nginx:

location /cgi-bin/mailman {
           root /usr/lib/;
           fastcgi_split_path_info (/cgi-bin/mailman[^/]*)/(.*)$;
           include /etc/nginx/fastcgi_params;
           fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
           fastcgi_param PATH_INFO $fastcgi_path_info;
           fastcgi_param PATH_TRANSLATED $fastcgi_path_info;
           fastcgi_intercept_errors on;
           fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }

это, кажется, работает хороший, когда я звоню mydomain.com/cgi-bin/mailman/listinfo, но когда я запрашиваю что-то как: mydomain.com/cgi-bin/mailman/listinfo/mylist я добираюсь 403 и в nginx журнале ошибок:

FastCGI sent in stderr: "Cannot chdir to script directory (/usr/lib/cgi-bin/mailman/listinfo)" while reading response header from upstream

Я попробовал каждое regex доступное для получения его работа, но это все еще дает 403 любая справка или любая подсказка для получения его работа.

3
задан 10 November 2013 в 19:53
1 ответ

У меня была такая же проблема. Я где-то нахожу решение: просто закомментируйте строку

fastcgi_param  SCRIPT_FILENAME   $request_filename;

в / etc / nginx / fastcgi_params . Это работает, но я думаю, что лучше не закомментировать эту строку, просто поменять местами порядок включения этого файла и определения вашего собственного SCRIPT_FILENAME:

location /cgi-bin/mailman {
           root /usr/lib/;
           fastcgi_split_path_info (/cgi-bin/mailman[^/]*)/(.*)$;
           fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
           include /etc/nginx/fastcgi_params;
           fastcgi_param PATH_INFO $fastcgi_path_info;
           fastcgi_param PATH_TRANSLATED $fastcgi_path_info;
           fastcgi_intercept_errors on;
           fastcgi_pass unix:/var/run/fcgiwrap.socket; }

Теперь это работает для меня.

1
ответ дан 3 December 2019 в 07:31

Теги

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