1

우리는 Java 및 Node.JS 응용 프로그램과 함께 Swisscom CloudFoundry 솔루션을 사용하고 있습니다. 아주 최근에, 5xx로 시작하는 모든 HTTP 상태 코드 (500503으로 테스트 됨)는 /offline_pages/ (DELETE, 으로 테스트 됨)으로 리디렉션 헤더와 함께 상태 코드 302 Found에 자동으로 매핑됩니다. 이 작업은 응용 프로그램과 프런트 엔드간에 수행되며 상태 코드가 5xx 인 자원을 요청합니다.내부 서버 오류가 302로 매핑됩니다. Swisscom CloudFoundry에서 "/ offline_pages /"로 리디렉션 됨으로 발견되었습니다.

5xx 상태 코드를 사용하여 REST API를 통한 프런트 엔드 서버 오류 (유지 관리 중단 시간 등 포함)를보고하고 있습니다. 자동 매핑 때문에 더 이상 작동하지 않습니다. 예를 들어 프런트 엔드에서 3xx 상태가 오류로 표시되지 않으므로 유지 관리 페이지로의 자동 리디렉션이 더 이상 없습니다.

이 문제는 Google 응용 프로그램 (Java 및 Node.JS) 모두에서 발생합니다. 그러나 로그에는 각각 500 오류가 올바르게 표시됩니다. 또한 애플리케이션의 코드베이스에서 리디렉션 URL 문자열 /offline_pages/은 존재하지 않습니다. 결론적으로 이것은 우리의 응용 프로그램 밖에서 수행되어야합니다.

표시되는 브라우저 페이지가 500이면 사용자는 실제로 012com페이지로 리디렉션되어 Swisscom 오류 페이지를 표시합니다. 이 오류 페이지 (리디렉션 대상)는 200 상태 코드를 반환하므로 키오스크 브라우저에서 자동으로 오류를 감지 할 수 없습니다.

갑자기 발생하는이 동작을 비활성화하도록 Swisscom CloudFoundry를 구성 할 수 있습니까?


프런트 엔드에 의한 요청이다

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> 

그리고이 응답이다

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

Excpected는, 서버 로그와 같다 이 경우는 503입니다. 다음은이 요청에 대한 로그입니다.

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

답변

2

이 이상한 동작을 일으키는 Swisscoms로드 밸런서가 재구성되었습니다. 이제 해결해야합니다.

+0

위대한, 다시 작동합니다, 감사합니다! –