Eigene Fehlerseiten <-> Reverse Proxy

Alles, was den Apache betrifft, kann hier besprochen werden.

Eigene Fehlerseiten <-> Reverse Proxy

Postby sproetec » 21. July 2008 14:17

Hallo zusammen,

wir betreiben in unserer Firma zwei kleine Webapplikationen auf unterschiedlichen Ports eines Servers. Davor ist ein Apache gesetzt, der als ReverseProxy fungiert. (Die Eingabe von http://server/webapp1 wird intern zu http://server1:8080/webapp1 weitergeleitet, http://server/webapp2 auf http://server1:8090/webapp2).

Läuft eine der beiden Applikationen nicht, zeigt der Apache eine 503er-Fehlermeldung. Genau hier liegt meine Frage: wie kann ich die angezeigte Fehlermeldung anpassen?

Ich habe bereits eine .htaccess in den htdocs-Ordner vom Apache gepackt. 404-Fehler kann ich damit bereits abfangen. Auf dem selben Wege habe ich auch eine eigene Meldung für 503er Fehler definiert - diese wird aber nicht angezeigt, obwohl laut den Access Logs ein Fehler 503 an den Client ausgeliefert wird.

Hintergrund: Läuft eine Applikation nicht, und der Nutzer greift dennoch mit dem Standard-Link auf die Applikation zu, soll eine angepasste Fehlermeldung vom System zurückkommen - und eben nicht nur die Standardmeldung des Apache über eine Fehler 503.

Hat jemand eine Idee?
Vielen Dank, Christian

(P.S.: Apache 2.2.8, Windows XP 32bit)
sproetec
 
Posts: 3
Joined: 21. July 2008 13:40

Postby deepsurfer » 21. July 2008 15:48

Kann es sein das der reverse Funktioniert und die fehlerhafte anfrage richtig umgeleitet wird, aber dort wo die Umleitung hingeht (content für Hinweistext) ergibt sich abermals ein 503 Fehler.

Ich frage deswegen weil Du beschrieben hast das ja der eigentliche Fehler schon zum zweiten Server bzw. richtiger Fehler Code ausgegeben wird.

Wenn nun aber deine Hinweis-Umleitung auch einen 503 verursacht so ist nach meinem Verständnis deiner Erörterung hier es richtig das Du abermals einen Apache-503 siehst.


Apache kann, wie Du schon durchführst, mittels htaccess den Fehlercode auswerten, ansonsten mal den genauen Fehlercode von Apache selber umschreiben. Möglich das Du in der htaccess nur ein Schreibfehler hast (z.b. Gross klein Schreibung).
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby sproetec » 22. July 2008 11:39

Kann es sein das der reverse Funktioniert und die fehlerhafte anfrage richtig umgeleitet wird, aber dort wo die Umleitung hingeht (content für Hinweistext) ergibt sich abermals ein 503 Fehler.


Meiner Meinung nach nicht - das Ziel der Umleitung ist ein Tomcat, der heruntergefahren ist (bspw. zur Wartung). Greife ich ohne den Reverse Proxy auf den Tomcat zu, erhalte ich keine Antwort - auf dem Port läuft ja nichts. Die 503er-Fehlermeldung kann demnach doch nur vom Apache kommen.

Hier mal eine Zeile aus der access.log (503-Fehler):
Code: Select all
10.96.2.95 - - [21/Jul/2008:14:34:47 +0200] "GET /webapp1/ HTTP/1.1" 503 323


Und das ganze für einen 404-Fehler. Ich greife auf ein Verzeichnis zu, das nicht existiert - anschließend zeigt er die Fehlerseite an (man sieht die Zugriffe auf das dahinterliegende CSS sowie die eingebaute Grafik):
Code: Select all
10.96.2.95 - - [18/Jul/2008:14:34:49 +0200] "GET /webapp0815 HTTP/1.1" 404 2246
10.96.2.95 - - [18/Jul/2008:14:34:49 +0200] "GET /errorpages/combined.css HTTP/1.1" 304 -
10.96.2.95 - - [18/Jul/2008:14:34:49 +0200] "GET /images/Header.jpg HTTP/1.1" 304 -


Und hier meine Definition der .htaccess - beide HTML-Dateien sind vorhanden:

Code: Select all
# Fehlermeldungen
ErrorDocument 404 /errorpages/fehler404.html
ErrorDocument 503 /errorpages/fehler503.html
sproetec
 
Posts: 3
Joined: 21. July 2008 13:40

Postby Wiedmann » 22. July 2008 11:46

Ich habe bereits eine .htaccess in den htdocs-Ordner vom Apache gepackt.

Was in einer ".htaccess" Datei konfiguriert wird, ist nur gültig für (ab dem) dem Verzeichnis wo diese Datei drin liegt.

Davor ist ein Apache gesetzt, der als ReverseProxy fungiert.

Der ReverseProxy ist ja wohl in der Hauptserverkonfig (httpd.conf) konfiguriert. Also musst du auch auf dieser Ebene das ErrorDocument konfigurieren, wenn das für den ganzen Server gültig sein soll.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby sproetec » 22. July 2008 11:55

Fantastisch, das war der entscheidende Hinweis. Habe die ErrorDocuments jetzt direkt in der httpd.conf eingerichtet.

Danke
Christian
sproetec
 
Posts: 3
Joined: 21. July 2008 13:40


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests