Я пытаюсь настроить IcingaWeb2 с помощью Nginx, и у меня возникают проблемы. Предлагаемая конфигурация 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 /, а я хочу на /. Если я просто удалю 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.
Есть идеи, что я могу попробовать дальше?
Исправляю, переписав на втором месте.
location ~ ^/(.*)? {
alias /usr/share/icingaweb2/public;
index index.php;
rewrite ^/$ /dashboard;
try_files $1 $uri $uri/ /index.php$is_args$args;
}
Это не кажется лучшим ... но теперь все работает, как ожидалось.
В качестве дополнения для тех, кто все еще сталкивается с этой проблемой:
Дополнительный / в атрибуте index решает эту проблему.
location ~ ^/icingaweb2(.+)? {
alias /usr/share/icingaweb2/public;
index /index.php;
try_files $1 $uri $uri/ /icingaweb2/index.php$is_args$args;
}
Счастливого 2020 года