• nginx下的nagios pnp4nagios


    #Spawn-FCGI
    一个通用的FastCGI管理服务器,它是lighttpd中的一部份,很多人都用Lighttpd的Spawn-FCGI进行FastCGI模式下的管理工作
    
    #fcgiwrap(Simple FastCGI wrapper for CGI scripts) 
    为那些不支持直接运行CGI脚本的Web服务器提供一种运行CGI脚本的方式。
    

    nagios运行cgi,所以需要fcgiwrap为nginx解析cgi。

    yum -y install fcgiwrap-1.1.0-1.gf.el7.x86_64.rpm
    yum -y install php-fpm spawn-fcgi
    
    # php-fpm
    /etc/php-fpm.d/www.conf
    listen = /var/run/php-fpm.sock
    
    systemctl restart php-fpm
    
    #spawn-fcgi & fcgiwrap
    
    cat > /etc/sysconfig/spawn-fcgi << EOF
    FCGI_SOCKET=/var/run/fcgiwrap.sock
    FCGI_PROGRAM=/usr/sbin/fcgiwrap
    FCGI_USER=nginx
    FCGI_GROUP=nginx
    FCGI_EXTRA_OPTIONS="-M 0700"
    OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"
    EOF
    
    systemctl restart spawn-fcgi
    

    /etc/nginx/conf.d/nagios.conf 没用alias,直接用虚拟主机方式,注意nagios的请求是以^nagios开头的,需要rewrite,我的配置log不报错,但是页面的cgi查询出不来

    server {
       listen 80;
       server_name nagios.local;
    
       access_log /var/log/nginx/nagios.access.log;
       error_log /var/log/nginx/nagios.error.log info;
    
       auth_basic "Nagios Restricted Access";
       auth_basic_user_file /etc/nagios/passwd;
    
       location / {
          root /usr/share/nagios/html;
          index index.php;
          rewrite ^/nagios/(js|images|stylecss)/(.*)$ /$1/$2 break;
       }
       
       location ~ .php$ {
          include fastcgi_params;
          fastcgi_pass unix:/var/run/php-fpm.sock;
          fastcgi_param SCRIPT_FILENAME /usr/share/nagios/html/$fastcgi_script_name;
       }
    
       location ~ .cgi$ {
          root /usr/lib64/nagios/cgi-bin;
          rewrite ^/nagios/cgi-bin/(.*)$ /$1 break;
          rewrite ^/cgi-bin/(.*)$ /$1 break;
       
          include fastcgi_params;
          fastcgi_pass unix:/var/run/fcgiwrap.sock;
    
          fastcgi_param AUTH_USER $remote_user;
          fastcgi_param REMOTE_USER $remote_user;
          fastcgi_param SCRIPT_FILENAME /usr/lib64/nagios/cgi-bin$fastcgi_script_name;  
       }
    }
    

    /etc/nginx/conf.d/pnp4nagios.conf 没用alias,直接用虚拟主机方式,其他正常,仅search功能不正常

    server {
        listen 80;
        server_name pnp4nagios.local;
    
        access_log /var/log/nginx/pnp4nagios.access.log;
        error_log /var/log/nginx/pnp4nagios.error.log info;
    
        auth_basic "Nagios Restricted Access";
        auth_basic_user_file /etc/nagios/passwd;
    
        location / {
          root /usr/share/pnp4nagios;
          index index.php;
        }
    
        location ~ ^(.*.php)(.*)$ {
            root /usr/share/pnp4nagios;
            include fastcgi_params;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root/index.php;
       }
    }
    
  • 相关阅读:
    idapython常用api记录7.0
    Ubuntu(16.0.4)上编译android8.1源码(资料最全版本)
    Frida常用方法
    Frida Java Hook 详解(安卓9):代码及示例(下)
    Frida Java Hook 详解(安卓9):代码及示例(上)
    windows命令行工具导出系统日志——wevtutil
    帆软 V9 Getshell
    和信创天云桌面命令执行
    天擎越权访问
    天擎-前台SQL注入
  • 原文地址:https://www.cnblogs.com/liujitao79/p/7266894.html
Copyright © 2020-2023  润新知