Nagios + Nginx: проблемы с CSS и изображениями

У меня проблемы с настройкой Nagios в Arch Linux, обслуживаемом Nginx. Сервисы Nagios работают без заминок, но обслуживание через Nginx прерывается. Как видно на скриншоте, все шрифты перепутаны, а значки не отображаются в браузере. Я подозреваю, что пути к файлам CSS и изображениям каким-то образом повреждены и поэтому не сохраняются Nginx.

Скриншот Nagios

Вот мой виртуальный сервер Nginx conf. Я предполагаю, что сделал какую-то глупую ошибку, но не могу определить проблему.

Журнал ошибок показывает следующее:

*334 open() "/usr/share/nagios/share/nagios/images/ndisabled.gif" failed (2: No such file or directory)

Тем не менее, GIF находится по адресу /usr/share/nagios/share/images/ndisabled.gif что указывает на некоторую путаницу с путями, которую, однако, я не знаю, как лучше всего ее исправить.

Вероятно, один или другой эксперт по Nginx/Nagios, бродящий по этому форуму, найдет проблему за микросекунду!

server {
    server_name     nagios.bellaria www.nagios.bellaria;
    root            /usr/share/nagios/share;
    listen          80;
    index           index.php index.html index.htm;
    access_log      nagios.access.log;
    error_log       nagios.error.log;

    auth_basic            "Nagios Access";
    auth_basic_user_file  /etc/nagios/htpasswd.users;

    location ~ \.php$ {
        try_files       $uri = 404;
        fastcgi_index   index.php;
        fastcgi_pass    unix:/run/php-fpm/php-fpm.sock;
        include         fastcgi.conf;
    }

    location ~ \.cgi$ {
        root            /usr/share/nagios/sbin;
        rewrite         ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
        fastcgi_param   AUTH_USER $remote_user;
        fastcgi_param   REMOTE_USER $remote_user;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include         fastcgi.conf;
        fastcgi_pass    unix:/run/fcgiwrap.sock;
    }

    location /stylesheets {
        alias /usr/share/nagios/share/stylesheets;
    }
}

1 ответ

Решение

Возможно, nagios ищет изображения в /nagios/images из-за некоторой конфигурации. Проверьте исходный код страницы (Ctrl+ u) для подтверждения.

Вы можете сделать псевдоним для nagios:

location /nagios {
        alias /usr/share/nagios/share;
    }

Также проверьте файл конфигурации cgi.cfg,

(Извините за мой английский)


В freebsd на моем nagios с nginx я использую этот конфиг для php/CGI, возможно, это поможет вам с вашей проблемой cgi:

    location ~ ^/nagios/.+\.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING       $query_string;
        include fastcgi_params;
    }

    location ~ ^/nagios/.+\.cgi$ {
        fastcgi_pass unix:/var/run/fcgiwrap/nagios.socket;
#        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param AUTH_USER "nagiosadmin";
        fastcgi_param REMOTE_USER "nagiosadmin";
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;

        include fastcgi_params;
    }
Другие вопросы по тегам