Wie zu lösen, fügen Sie einen benutzerdefinierten Fehler 503 Seite von html auf ubuntu apache2 mit mod_jk und den virtuellen host umleiten zu tomcat
Ich habe versucht, alle fand ich auf apache-Dokumentation und andere Anregungen gefunden auf stackoverflow und blogs.
Wenn ich die folloowing Linie um eine Konfigurationsdatei wie /etc/apache2/apache2.conf
oder /etc/apache2/conf.d/localized-error-pages
oder /etc/apache2/httpd.conf
oder /etc/apache2/sites-enabled/000-default
:
ErrorDocument 503 "This is an error msg"
oder sogar einer html-Nachricht
ErrorDocument 503 "<h1> This is an error message </h1>
oder eine externe url umleiten ErrorDocument 503 http://www.google.com
es funktioniert.
Aber wenn ich versuche einen internen redirect, wie ErrorDocument 503 /ERROR_503.html
oder ErrorDocument 503 /error/ERROR_503.html
bekomme ich die Standard-Nachricht mit der letzten Zeile:
Darüber hinaus 503 Dienst Vorübergehend nicht Verfügbar
Fehler aufgetreten beim Versuch, eine ErrorDocument-Anweisung verwenden, um die Anfrage zu behandeln.
Habe ich die html-Fehler-Seite auf der DocumentRoot var/www
auf var/www/error
.
Versuchen Sie, kommentieren Sie alle die Datei /etc/apache2/conf.d/localized-error-pages
setzt, die alle Fehler an benutzerdefinierte Seiten mit Internationalisierung, die an /usr/share/apache2/error
.
Und als die Nachrichten in diesen Dateien sind die gleichen wie die Standard -, die Linie
Darüber hinaus 503 Dienst Vorübergehend nicht Verfügbar
Fehler aufgetreten beim Versuch, eine ErrorDocument-Anweisung verwenden, um die Anfrage zu behandeln.
ist nicht mehr gezeigt. Aber wenn ich die Zeile ändern
`ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var`
in der lokalisierten Fehler-Seiten-Datei, um eine neue html-Datei an der gleichen Seite, ist der Fehler wieder da ist
und die Seite wird nicht angezeigt. Wenn ich die Datei Bearbeiten HTTP_SERVICE_UNAVAILABLE.html.var
nichts ändern in der browser-Meldung zu.
Einige weitere Informationen: ich verwende apache2, nur die Umleitung alle Anfragen auf port 80 auf den tomcat auf port 8089 über einen Arbeiter. Meine Konfigurationsdateien sind https://dl.dropboxusercontent.com/u/1105054/apache.zip
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser dauerte way tooo long (teilweise wegen der Rechtschreibung), aber ich dachte, ich würde post meinen ganzen virtuellen Hosts-Datei, da kann es nützlich sein.
Werden Sie wollen, stellen Sie sicher, Sie haben angegeben ein DocumentRoot, und dass Sie die
ProxyPass /file.html !
vor dem eigentlichenProxyPass /
.maintenance-message.html
Datei umgeleitet und statt dessen dienen Sie aus/var/www/html
. (Also die!
kehrt den Befehl zu sagen, dass Sie nicht ProxyPass diese Datei oder Ordner.)In meinem Fall habe ich nur noch diese ProxyPass Linie zu meinem virtualserver config:
Erzählt, dass der proxy zu gehen, um das DocumentRoot-Verzeichnis und die Suche nach dem Fehler-Seite.
Auch Sie nützlich finden können, diese Antwort: https://stackoverflow.com/a/13019667
Ich Stand vor dem gleichen Problem auch und nach tiefer Suche fand ich hier die beste (und einzige?) Lösung von @Loren.
Arbeitete nach der Einstellung
ProxyPass /file.html !
vor dem mainProxyPass /
und NICHT nach.Auch, DocumentRoot ist erforderlich.