icingaweb2 的 Nginx 重定向失败

icingaweb2 的 Nginx 重定向失败

我正在尝试使用 Nginx 配置 IcingaWeb2,但遇到了一些问题。建议的 Icinga Nginx 配置是:

location ~ ^/icingaweb2/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/icingaweb2/public/index.php;
  fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb2;
  fastcgi_param REMOTE_USER $remote_user;
}

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

这工作正常,但让我将网络放在 /icingaweb2/ 上,而我希望它放在 / 上。如果我从 conf 中删除 icingaweb2/,它对除 / 之外的每个 URL 都正常工作。

我当前的配置是:

server {
    listen 443 ssl default_server;

    server_name example.com
    ssl_certificate cert_path;
    ssl_certificate_key cert_key;

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

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

例如,如果我尝试访问,这可以很好地工作,https://example.com/dashboard但只有https://example.com/使用403错误。我还尝试配置特定的location / {}重定向或重写到 /dashboard,但仍然得到 403。

知道下一步我可以尝试什么吗?

答案1

我通过在第二个位置进行重写来修复它。

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

感觉不是最好的......但现在一切都按预期进行。

答案2

对于仍然面临此问题的人来说,请补充一下:

在索引属性处添加一个 / 可以解决这个问题。

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

2020年快乐

相关内容