NGINX | PHP Website lädt sich runter und öffnet sich nicht?
Hallo, wie oben beschrieben, immer wenn ich auf meine Passwort gesicherte Seite öffne die mit Nginx läuft und index.html ist kann ich sie öffnen, aber wenn ich oben im reiter bei der Seite auf "Forum" gehe die mich auf page/forum/index.php weiterleitet wird sie nur Runtergeladen und nicht geöffnent.
Ich habe eine andere Seite wo ich den selben Code bei NGINX für PHP verwende, aber OHNE auth_basic, und die geht ohne Probleme.
Bei den Logs für Nginx sehe ich keine Probleme.
server {
listen 443 ssl;
server_name login.domain.de;
root /var/www/html_domain/projek/login;
ssl_certificate /etc/letsencrypt/live/domain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.de/privkey.pem;
index index.html index.htm index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ^~ /account/user2/ {
auth_basic "user2";
auth_basic_user_file /etc/nginx/login/.user2;
try_files $uri $uri/ =404;
}
location ^~ /account/user/ {
auth_basic "user";
auth_basic_user_file /etc/nginx/login/.user;
try_files $uri $uri/ =404;
}
}
1 Antwort
Nginx wählt nur einen location-Block aus, wobei der erstbeste Fund gewählt wird (ganz grob: erster exakter Match - erster längster Non-Regex-Match - erster Regex-Match).
Wenn deine PHP-Datei also beispielsweise über /account/user/yourScript.php ausgeliefert wird, erhältst du zwar eine Basic Authentication, aber der PHP-Code wird nicht interpretiert, da für den entsprechenden location-Block kein CGI konfiguriert wurde.