Rückkehr custom 403-Fehler-Seite mit nginx
Ich versuche, um die Anzeige der Fehler-Seite in /temp/www/error403.html wenn ein 403-Fehler Auftritt.
Sollte dies, Wann immer ein Benutzer versucht, Zugriff auf die Seite per https (ssl) und IP ist in der blovkips.conf-Datei, aber im moment ist es noch zeigt nginx die Standard-Fehler-Seite.
Ich habe den gleichen code für meine anderen server (ohne blockieren), und es funktioniert.
Ist es die Blockierung der IP den Zugriff auf das benutzerdefinierte 403 Seite?
Wenn ja, wie bekomme ich es auf Arbeit?
server {
# ssl
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/site.in.crt;
ssl_certificate_key /etc/nginx/ssl/site.in.key;
keepalive_timeout 70;
server_name localhost;
location /{
root /temp/www;
index index.html index.htm;
}
# redirect server error pages to the static page
error_page 403 /error403.html;
# location = /error403.html {
# root /temp/www;
# }
# add trailing slash if missing
if (-f $document_root/$host$uri) {
rewrite ^(.*[^/])$ $1/permanent;
}
# list of IPs to block
include blockips.conf;
}
Edit:
Korrigiert error_page code von 504 403 aber ich habe immer noch das gleiche Problem
InformationsquelleAutor Mint | 2010-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich haufenweise googeln kommen hier vor, aber Tat etwas mehr, gerade jetzt, innerhalb von 5 Minuten hatte ich meine Antwort 😛
Scheint, ich bin nicht die einzige person, die dieses Problem haben:
http://www.cyberciti.biz/faq/unix-linux-nginx-custom-error-403-page-configuration/
Scheint, dass ich Recht in der Annahme, dass der Zugriff auf meine Fehler, die Seite wurde immer blockiert.
InformationsquelleAutor Mint
Das problem könnte sein, dass man versucht, zu server eine 403 "Forbidden" - Fehler vom webserver, dass Sie verboten sind, Zugriff auf. Nginx behandelt die error_page Richtlinie als eine interne Weiterleitung. So ist es versucht, zu server https://example.com/error403.html, das ist auch verboten.
So dass Sie brauchen, um die Fehler-Seite nicht serviert https so:
oder fügen Sie die notwendigen "Zugriff erlaubt" Optionen, um den Speicherort für die Fehler-Seite Weg. Die Möglichkeit, dies zu testen ist, um die /error403.html -Seite direkt. Wenn Sie nicht greift, die Art und Weise, es wird nicht funktionieren, wenn jemand bekommt einen tatsächlichen Fehler 403.
InformationsquelleAutor randomstring
Es sieht aus wie es eine boo-boo in der aufgeführten Konfiguration, da es nur Fehler beim senden von code 503 ("service nicht verfügbar") auf die eigene Seite, also für 403 ("forbidden"), die Sie wahrscheinlich nutzen möchten:
deny 1.2.3.4;
.)Ja die blockips.conf korrekt ist, soweit ich weiß, ich habe nur diese unkommentierte: deny all; (für die Prüfung)
Ok, ich bearbeitet die config-Datei mit 403 nicht 503 jetzt erfolgt ein Neustart und ich bekomme immer noch Standard "403 Forbidden nginx" jede andere Ideen?
Ich habe gerade versucht, alle Fehler-codes (400-599 ex-499) und ich bekomme immer noch die Standard nginx error-Seite.
InformationsquelleAutor ewall
Ich hatte das gleiche Problem... Der Punkt ist, dass ich schon implementiert ip-whitelist im server-Kontext-Ebene (oder vhost-Ebene, wenn Sie bevorzugen), so dass alle Standorte diese als gut (im Grunde genommen /403.html nicht zugänglich) :
Ausschluss conf.d Datei-Beispiel:
Zu befestigen, dass Sie einfach tun, Ihre Rückkehr 403 an der Position der Ebene (Kontext):
Funktioniert für mich.
InformationsquelleAutor Pierre