Corrigi-o adicionando uma regra que corresponde apenas a /
:
location = / {
rewrite ^ /listinfo permanent;
}
se alguém tiver uma solução melhor, poste-a!
Eu luto agora um pouco com o problema de fazer o mailman e o nginx rodarem. Tudo funciona bem, mas se o usuário vir apenas o domínio, recebo um erro HTTP 502.
Como posso dizer que o nginx deve usar / listinfo como o local padrão? Eu não posso especificá-lo via try_files $uri /listinfo
na seção location /
, porque então todo site é encaminhado para / listinfo. De alguma forma isso não funciona bem com cgis ...
Esta é minha configuração atual:
server {
listen [::]:80;
root /usr/lib/cgi-bin/mailman/;
location = /mailman/listinfo {
rewrite ^ /listinfo permanent;
}
location / {
fastcgi_split_path_info (^/[^/]*)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location /images/mailman {
alias /usr/share/images/mailman;
}
location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}
}
Posso definir um local para corresponder a um URL como http://example.com/
(sem nenhum parâmetro especificado)?
Corrigi-o adicionando uma regra que corresponde apenas a /
:
location = / {
rewrite ^ /listinfo permanent;
}
se alguém tiver uma solução melhor, poste-a!