Ich versuche, eine benutzerdefinierte 400-Fehlerseite für Nicht-HTTPS-Anforderungen in Nginx zurückzugeben. Ich bin neu bei nginx, aber ich habe viele Seiten mit Beispielen auf benutzerdefinierten Fehlerseiten gelesen und nichts scheint für mich zu funktionieren. Meine Konfiguration:
server {
listen 80;
error_page 400 /400.html;
location = /400.html {
root /var/www/html;
}
return 400;
}
Die Rückgabe funktioniert, denn wenn ich den Code ändere (z. B. auf 401 oder 500), erhalte ich die entsprechende Standard-Nginx-Fehlerseite. Ich weiß, dass die Datei existiert, denn wenn ich die Rücksendung herausnehme, wird sie meine 400.html-Seite ohne Probleme direkt bedienen. Aber nichts, was ich versucht habe, hat dazu geführt, dass meine benutzerdefinierte Seite angezeigt wird, wenn ich den Fehlercode zurückgebe.
Was vermisse ich?
Update: Andere Varianten habe ich vergeblich versucht:
server {
listen 80;
error_page 400 /400.html;
location = /400.html {
root /var/www/html;
}
return 400;
}
server {
listen 80;
root /var/www/html;
error_page 400 /400.html;
location = /400.html {
allow all;
}
return 400;
}
server {
listen 80;
root /var/www/html;
error_page 400 /400.html;
return 400;
}
default
zu Ihrer Hörzeile hinzufügen . b) Erstellen Sie einen zweiten Serverblock für SSL - ohne dass Sie listen *:443 ssl;
dem obigen Serverblock eine Zeile hinzufügen können. In beiden Fällen müssen Sie das SSL-Zertifikat und den Schlüssel angeben.
400.html
Datei abgelegt? Fügen Sie eine error_log
Direktive ein und sehen Sie sich das an.