nginx и mailman: пересылать в listinfo по умолчанию

414
reox

Сейчас я немного борюсь с проблемой запуска mailman и nginx. Все работает нормально, но если пользователь просматривает только домен, я получаю ошибку HTTP 502.

Как я могу сказать, что nginx должен использовать / listinfo в качестве местоположения по умолчанию? Я не могу указать это через try_files $uri /listinfoв location /разделе, потому что тогда каждый сайт перенаправляется в / listinfo. Как-то это не очень хорошо работает с CGIS ...

Это мой текущий конфиг:

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; } } 

Могу ли я определить местоположение, чтобы соответствовать URL, как http://example.com/(без каких-либо параметров)?

0

1 ответ на вопрос

0
reox

I fixed it by adding a rule that matches only /:

location = / { rewrite ^ /listinfo permanent; } 

if anyone has a better solution please post it!