Назад | Перейти на главную страницу

Icinga отображает двоичный вывод в браузер

Не могу сказать, Icinga это или nginx, но когда я открываю Icinga classic web, я получаю двоичный файл cgi, отображаемый на экране.

Вот скриншот:

Похоже, это двоичные данные из "tag.cgi".

Вот моя конфигурация nginx:

     # Icinga ---------------------------------------------------------
     location /icinga/ {
               alias                   /usr/share/webapps/icinga/;
               auth_basic              "Icinga Access";
               auth_basic_user_file    /etc/icinga/htpasswd.users;
     }

     location ~ ^/icinga/(.*)\.cgi$ {
              root           /usr/share/webapps/;
              fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
              include        fastcgi.conf;
              fastcgi_param  AUTH_USER          $remote_user;
              fastcgi_param  REMOTE_USER        $remote_user;
              # rewrite        ^/icinga/cgi-bin/(.*)\.cgi /$1.cgi break;
              include        /etc/nginx/fastcgi_params;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              auth_basic     "Icinga Access";
              auth_basic_user_file    /etc/icinga/htpasswd.users;
              }

Есть идеи, что происходит?

Главная страница Icinga состоит из трех кадров

  1. Левая панель, состоящая из чистый HTML menu.html
  2. Верхняя панель, состоящая из Вывод CGI cgi-bin / tac.cgi? tac_header
  3. Главное окно, состоящее из Вывод CGI слишком cgi-bin / tac.cgi? tac_header

Причина вашего nginx выплевывая двоичный код вместо страницы, созданной CGI, вы передаете запрос PHP-FPM разъем. Процесс PHP FPM понимает только язык PHP, но сама Icinga написан в основном на C / C ++.

По умолчанию Nginx не может обрабатывать CGI, поэтому вы должны добавить на свой сервер еще одну оболочку CGI, например fcgiwrap. В официальной вики Icinga есть пример конфигурации nginx в эта страница