1

Wir verwenden die Swisscom CloudFoundry Lösung mit einer Java und einer Node.JS Anwendung. Seit neuestem werden jeder HTTP-Statuscode mit 5xx beginnen (getestet mit 500 und 503) mit dem Statuscode automatisch zugeordnet 302 Found mit einem Redirect-Header /offline_pages/ (getestet mit DELETE, POST und GET). Dies geschieht zwischen unserer Anwendung und dem Front-End und fordert eine Ressource mit einem Statuscode an.Interner Server Fehler werden mit einer Weiterleitung an "/ offline_pages /" auf Swisscom CloudFoundry 302 gefunden.

Wir verwenden aktiv die 5xx Statuscodes, um einen Serverfehler über unsere REST-API an das Front-End zu melden (einschließlich Wartungsausfall usw.). Dies funktioniert nicht mehr, aufgrund der automatischen Zuordnung. Zum Beispiel gibt es keine automatische Weiterleitung zu einer Wartungsseite mehr, da das Front-End 3xx Status nicht als Fehler anzeigt.

Dieses Problem tritt in beiden Anwendungen (Java und Node.JS) auf. Die Protokolle zeigen jedoch den korrekten 503 bzw. 500 Fehler an. Darüber hinaus ist in der Codebasis unserer Anwendung die Umleitungs-URL-Zeichenfolge /offline_pages/ nicht vorhanden; was zu der Schlussfolgerung führt, dass dies außerhalb unserer Anwendung geschehen muss.

Wenn eine sichtbare Browserseite eine 500 zurückgibt, wird der Benutzer tatsächlich auf die Seite /offline_pages umgeleitet, die eine Swisscom-Fehlerseite anzeigt. Diese Fehlerseite (zu der sie weitergeleitet wurde), gibt ihrerseits einen 200 Statuscode zurück, der es unmöglich macht, den Fehler in einem Kiosk-Browser automatisch zu erkennen.

Gibt es eine Möglichkeit, die Swisscom CloudFoundry zu konfigurieren, um dieses plötzlich auftretende Verhalten zu deaktivieren?


Dies ist die von dem Front-End gemacht Anfrage:

GET /api/account HTTP/1.1 
Host: <HOST> 
Connection: keep-alive 
Accept: application/json, text/plain, */* 
User-Agent: <USER-AGENT> 
Referer: <REFERER> 
Accept-Encoding: gzip, deflate, br 
Accept-Language: <LANGUAGES> 

Und das ist die Antwort:

HTTP/1.0 302 Found 
Location: /offline_pages/ 
Connection: Keep-Alive 
Content-Length: 0 

Excpected ist das gleiche wie in den Server-Logs, in In diesem Fall ein 503. Hier sind die Protokolle für diese Anfrage:

2017-11-14 13:54:07 [RTR/1] OUT <HOST> - [2017-11-14T12:54:07.455+0000] "GET /api/account HTTP/1.1" 503 [...] 

Antwort

2

Es hat eine Neukonfiguration von Swisscoms Load-Balancer, die dieses seltsame Verhalten verursacht. Es sollte jetzt behoben werden.

+0

Großartig, es funktioniert wieder, danke! –

Verwandte Themen