#17 closed defect (invalid)
nginx fail to set 'fastcgi_param PATH_INFO' (mailman+fcgicrap)
Reported by: | Ludovic Bellière | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | nginx-module | Version: | 1.0.x |
Keywords: | Cc: | ||
uname -a: | Linux grumbar.xrogaan.be 2.6.38.2-grsec-xxxx-grs-ipv6-64 #1 SMP Fri Apr 15 17:44:15 UTC 2011 x86_64 GNU/Linux | ||
nginx -V: |
nginx: nginx version: nginx/1.0.6
nginx: TLS SNI support enabled nginx: configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/usr/src/nginx/source/nginx-1.0.6/debian/modules/nginx-echo --add-module=/usr/src/nginx/source/nginx-1.0.6/debian/modules/nginx-upstream-fair --add-module=/usr/src/nginx/source/nginx-1.0.6/debian/modules/nginx-syslog |
Description
I was following the http://wiki.nginx.org/Mailman tutorial to use mailman with nginx. However, it didn't seems to works for me. Here are the basics informations, that could also be gathered in the mailman thread linked in this ticket.
nginx seems to not be able to set the PATH_INFO environment variable and by thus mailman can't detect the list it needs to works with.
I tried to use arbitrary string instead of a nginx variable, but that didn't work either.
So, for some reason unknown to me, nginx seems to fail at its job. There is nothing that could help finding the issue: nothing in the logs, or anywhere else.
You'll find a printenv script, gathered from the mailman-users thread, that I used to see if the variable was set.
Informations related: http://mail.python.org/pipermail/mailman-users/2010-September/070268.html
My config look like this:
server { server_name lists.xrogaan.be; root /usr/lib/cgi-bin; gzip off; location = / { rewrite ^ /mailman/listinfo permanent; } location / { rewrite ^ /mailman$uri; } location /mailman { fastcgi_split_path_info (^/mailman/[^/]*)(.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; } location /images/mailman { alias /var/lib/mailman/icons; } location /pipermail { alias /var/lib/mailman/archives/public; autoindex on; } }
Attachments (1)
Change History (3)
by , 13 years ago
comment:1 by , 13 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
- fastcgi_split_path_info works as documented. PATH_INFO is not unset, it is empty because second part of regex
(^/mailman/[^/]*)(.*)$
return empty string. If you place printenv in mailman dir and request somehost/mailman/printenv/id=1, then PATH_INFO will be equals to id=1 - nginx part of mailman with fcgiwrap and nginx is correct, since we run mailman with similar config
- If you unsure, please ask maillist nginx at nginx.org before reporting a bug
comment:2 by , 13 years ago
Yes indeed. I just looked at the source code of fcgiwrap, and it's blacklisting a bunch of variables and among them, PATH_INFO.
Sorry for the trouble.
to be placed in /usr/lib/cgi-bin/mailman