я использую почтальона с 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
любая справка или любая подсказка для получения его работа.
У меня была такая же проблема. Я где-то нахожу решение: просто закомментируйте строку
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; }
Теперь это работает для меня.