Nginx-Authentifizierung und benutzerdefinierte Fehlerseite

Nginx-Authentifizierung und benutzerdefinierte Fehlerseite

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.htmlin beiden location- und error_page-Anweisungen einen führenden Schrägstrich hinzufügen.

verwandte Informationen