
Ich versuche, meinen Server so einzurichten, dass er eine Authentifizierung erfordert, bevor er eine Datei in der Domäne durchsuchen kann. Ich möchte jedoch eine benutzerdefinierte Fehlerseite ( placeholder.html
) anzeigen, wenn die Authentifizierung fehlschlägt.
Ich habe die unten aufgeführte Serverkonfiguration ausprobiert, aber sie schickt meinen Browser in eine Endlosschleife (ohne dass auch nur ein Authentifizierungsfenster angezeigt wird). Kann das jemand erklären? Wie würden Sie das lösen?
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html index.htm;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/example.com.auth;
error_page 401 placeholder.html;
location = placeholder.html {
auth_basic off;
}
location / {
try_files $uri $uri/ =404;
}
}
Antwort1
Sie müssen placeholder.html
in beiden location
- und error_page
-Anweisungen einen führenden Schrägstrich hinzufügen.