웹페이지가 흰색 페이지를 반환하는 경우 경고에 대한 모범 사례는 무엇입니까?

웹페이지가 흰색 페이지를 반환하는 경우 경고에 대한 모범 사례는 무엇입니까?

우리는 죽음의 흰색 페이지를 반환하는 웹앱에 대한 모니터링(zabbix)을 설정하려고 합니다. 앱은 PHP 기반입니다.

내가 아는 바로는 수많은 문제, 메모리 문제, 구문 오류 등으로 인해 흰색 화면이 발생할 수 있습니다.

그래서 묻고 싶습니다. 50x 코드를 반환하는 웹 서버에 의존하는 것이 더 낫습니까, 아니면 (어쨌든) 반환 코드 200을 얻을 가능성이 있지만 렌더링 페이지가 비어 있습니다(흰색)?

답변1

HTTP 상태 코드에 의존하는 것이 가장 좋고 일반적으로 사용되는 방법입니다. PHP에서 심각한 오류가 발생하면 적절한 HTTP 오류 코드와 함께 종료되어야 합니다.

HTTP 상태 코드 200이 있는 심각한 오류는 가짜 주장이므로 피해야 합니다. 훌륭하게 디자인된 404 페이지라도 HTTP 오류 코드 404를 사용해야 하며 그 외에는 아무것도 사용하지 않아야 합니다.

HTTP 오류 코드를 사용하면 다음을 수행할 수 있습니다.

  • 기존 온라인 및 온프레미스 모니터링 도구를 사용하여 웹 사이트 및 앱 모니터링

  • 주어진 오류에 따라 브라우저가 반응하도록 허용

  • 웹사이트에 새로운 콘텐츠가 있는 대신 오류가 있음을 Google 및 기타 검색 엔진에 알립니다.

  • PHP가 치명적인 오류로 종료되는 경우 적절한 HTML을 표시하고 오류 코드를 유지하도록 Nginx를 구성하십시오.

    ...

답변2

웹 사이트를 올바르게 모니터링하려면 웹 콘텐츠에 나타나는 문자열을 식별하고 모니터에서 해당 문자열이 HTTP 응답에 존재하는지 확인해야 합니다.

양식 데이터를 수집하고 처리하는 웹 애플리케이션을 실행하는 경우 양식을 처리하고 양식이 올바른 결과를 반환하는지 확인하는 대화형 모니터를 만들어야 합니다. 다양한 방법으로 이를 수행할 수 있습니다. 과거에는 이 작업을 위해 Jmeter를 Nagios와 통합했지만 Pingdom과 같은 온라인 서비스를 사용할 수도 있습니다.

내 의견으로는 HTTP 상태 코드에 의존하는 것은 좋은 습관이 아닙니다. PHP의 DB 오류는 여전히 HTTP 200 상태를 반환할 수 있습니다. 마찬가지로 훼손된 사이트는 200 상태 코드를 반환할 수 있습니다.

https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/jmeter-invocation-plugin-II/details

https://www.pingdom.com/

관련 정보