nginx 子目录到子域名 icingaweb2

nginx 子目录到子域名 icingaweb2

我目前已使用新的 icingaweb2 ui 设置了 icinga2。它默认为子文件夹 /icingaweb,如下所示:

location ~ ^/icingaweb/index\.php(.*)$ {
    # fastcgi_pass 127.0.0.1:9000;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb/public/index.php;
    fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb;
}

location ~ ^/icingaweb(.+)? {
    alias /usr/share/icingaweb/public;
    index index.php;
    try_files $1 $uri $uri/ /icingaweb/index.php$is_args$args;
}

如果我将第一个位置块更改为:

location / {

它显示的是减去所有 css 的登录页面。

我怎样才能让它在子域名(例如 icinga.example.com)上工作?

据我所知,该文件的其余部分格式正确,例如 server_name listen root 等。

提前致谢。

根据请求阻止服务器:

server {

    listen 80;
    server_name icinga.example.com;
    root /usr/share/icingaweb/public;

    location ~ ^/icingaweb/index\.php(.*)$ {
        # fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb/public/index.php;
        fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb;
    }

    location ~ ^/icingaweb(.+)? {
        alias /usr/share/icingaweb/public;
        index index.php;
        try_files $1 $uri $uri/ /icingaweb/index.php$is_args$args;
    }
} 

答案1

在这里找到了解决方案 -icingaweb2 的 Nginx 重定向失败

第二个位置块中的重写行使魔法发生。

类似这样的事情应该对你的情况有用:

location ~ ^/index\.php(.*)$ {
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb/public/index.php;
  fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb;
}

location ~ ^/(.*)? {
 alias /usr/share/icingaweb/public;
 index index.php;
 rewrite ^/$ /dashboard;
 try_files $1 $uri $uri/ /index.php$is_args$args;
}

相关内容