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