Сейчас я немного борюсь с проблемой запуска 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/ (без указания какого-либо параметра)?

1 ответ1

0

Я исправил это, добавив правило, которое соответствует только /:

location = / { 
    rewrite ^ /listinfo permanent;
}   

если у кого-то есть лучшее решение, пожалуйста, опубликуйте его!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .