不能告诉如果这是Icinga或Nginx,但当我拉起Icinga经典网站,我得到的二进制CGI显示在屏幕上。
这里有一个截图: 
它似乎是来自“tag.cgi”的二进制数据。
这是我的nginxconfiguration:
# 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主页由三个框架组成
你的nginx吐出二进制而不是CGI生成的页面的原因是,你将请求传递给PHP-FPM套接字。 PHP FPM过程只理解PHP语言,但Icinga本身主要是用C / C ++编写的 。
默认情况下Nginx不能处理CGI,所以你必须在你的服务器中添加另一个CGI包装器,例如fcgiwrap 。 Icinga官方wiki在这个页面中有nginxconfiguration的例子