纳格维斯nginx配置:没有位置名称的网址重定向

时间:2015-06-30 09:23:15

标签: redirect nginx nagios

我正在努力让nagvis(http://www.nagvis.org/)与nginx合作。不幸的是我无法做到这一点......

我已经有一个服务器和其他几个位置,我想为nagvis添加一个新服务器。这是我的尝试之一:

server{
    listen   443 ssl;

    root /apps/www/admin;
    index index.php;

    ssl_certificate /apps/ssl/admin.chained.crt;
    ssl_certificate_key /apps/ssl/admin.key;


    server_name admin admin.mycompany.fr;

    #auth ldap through pam
    auth_pam        "Admin Zone";
    auth_pam_service_name "admin_nginx";

    location ^~ / {
            index index.php;
            include /apps/etc/nginx/php.conf;

    location ^~ /nagvis {
                root /usr/share/nagvis/share;
                index index.php;
                include /apps/etc/nginx/php.conf;
                try_files $uri $uri/ /index.php;
        }

   location ^~ /phpmyadmin {
                root /usr/share;
                index index.php;
                include /apps/etc/nginx/php.conf;

                try_files $uri $uri/ /index.php;

当我尝试使用此配置“https://admin.soc.mycompany.fr/nagvis/index.php”时,我得到:

==> /var/log/nginx/error.log <==
2015/06/30 11:14:11 [error] 10568#10568: *185 FastCGI sent in stderr: "Unable to open primary script: /usr/share/nagvis/share/nagvis/frontend/nagvis-js/index.php (No such file or directory)" while reading response header from upstream, client: 172.20.0.5, server: admin, request: "GET /nagvis/frontend/nagvis-js/index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "admin.mycompany.fr"

==> /var/log/nginx/access.log <==
172.20.0.5 - lagarjoc [30/Jun/2015:11:14:11 +0200] "GET /nagvis/frontend/nagvis-js/index.php HTTP/1.1" 404 56 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/41.0.2272.76 Chrome/41.0.2272.76 Safari/537.36"

/ usr / share / nagvis / share中的第一个index.php是重定向到“/frontend/nagvis-js/index.php”。它运行良好并重定向到https://admin.mycompany.fr/nagvis/frontend/nagvis-js/index.php

但是nginx本身正在寻找“/usr/share/nagvis/share/nagvis/frontend/nagvis-js/index.php”中的文件而不是 “/usr/share/nagvis/share/frontend/nagvis-js/index.php”(位置很多)。

我希望我足够清楚,你能够帮助我。

提前谢谢,我被卡住了:(

1 个答案:

答案 0 :(得分:0)

好吧,我找到了一个&#34; hack&#34;使它工作。

我只是添加了这样的符号链接:

ln -s /usr/share/nagvis/share /usr/share/nagvis/share/nagvis

我想知道我是否可以直接通过nginx配置来避免这个问题,但至少这项工作目前尚未找到!

希望它也会帮助别人。