G
Gast123
[gelöst] Nginx: Virtuellen Unterordner im SCRIPT_FILENAME entfernen.
Hallo zusammen,
ich habe einen TLS-gesicherten HTTPS Server unter einer Domain, sagen wir:
Um dort nun mehrere Webseiten / -applications betreiben zu können, habe ich diese unter dem zugehörigen Nginx-Server in verschiedene locations gepackt.
Z.B.:
Bei letzterem musste ich, da nagios3 nicht in einem genau so genannten Ordner liegt, ein Alias auf
einführen.
Nun übergibt Nginx leider jedwede PHP-Datei unter o.g. URL als
an den PHP Prozessor.
Dies führt dazu, dass dieser versucht Dateien nach dem Schema
aufzurufen, statt, was richtig wäre,
.
Das einzige was ich zu dem Thema gefunden habe ist die Rewrite-Funktion von nginx:
Dies bleibt aber ohne Auswirkung. Das Dokument wird weiterhin nicht gefuden.
Das Logfile sagt dazu nur:
Wäre für Hilfe zum Entfernen des ersten Ordners im Script-Path (In diesem Falle nagios3) sehr dankbar.
MfG
Schard
PS: Hier der location-Part - Ich habe es zuletzt auch mit der fastcgi_split_path_info Dikrektive probiert - Kein Erfolg.
Hallo zusammen,
ich habe einen TLS-gesicherten HTTPS Server unter einer Domain, sagen wir:
Code:
tls.mydomain.com
Z.B.:
Code:
tls.mydomain.com/phpmyadmin
tls.mydomain.com/nagios3
Code:
/usr/share/nagios3/htdocs
Nun übergibt Nginx leider jedwede PHP-Datei unter o.g. URL als
Code:
/nagios3/<pfad>/<datei>.php
Dies führt dazu, dass dieser versucht Dateien nach dem Schema
Code:
/usr/share/nagios3/htdocs/[B]nagios3[/B]/<pfad>/<datei>.php
Code:
/usr/share/nagios3/htdocs/<pfad>/<datei>.php
Das einzige was ich zu dem Thema gefunden habe ist die Rewrite-Funktion von nginx:
Code:
rewrite ^/nagios3(/.+\.php.*)$ $1 last;
Das Logfile sagt dazu nur:
Code:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
Wäre für Hilfe zum Entfernen des ersten Ordners im Script-Path (In diesem Falle nagios3) sehr dankbar.
MfG
Schard
PS: Hier der location-Part - Ich habe es zuletzt auch mit der fastcgi_split_path_info Dikrektive probiert - Kein Erfolg.
Code:
location /nagios3 {
alias /usr/share/nagios3/htdocs;
access_log /var/log/nginx/nagios.access.log;
error_log /var/log/nginx/nagios.error.log debug; #info;
auth_basic "Nagios Restricted Access";
auth_basic_user_file /etc/nagios3/htpasswd.users;
index index.php;
location /nagios3/stylesheets {
alias /etc/nagios3/stylesheets;
}
location ~ ^/nagios3/.+\.php$ {
alias /usr/share/nagios3/htdocs;
fastcgi_split_path_info ^/nagios3(/.+\.php)(/.*)$;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /usr/share/nagios3/htdocs$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
location ~ \.cgi$ {
alias /usr/lib/cgi-bin/nagios3;
rewrite ^/nagios3(/.*)$ $1 last;
rewrite ^/cgi-bin/nagios3/(.*)$ /$1;
include /etc/nginx/fastcgi_params;
fastcgi_param AUTH_USER $remote_user;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/nagios3$fastcgi_script_name;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
}
Zuletzt bearbeitet von einem Moderator: