안녕하세요,
반복적으로 발생하는 500 Internal Server Error를 디버깅하려고 하고 있습니다.
먼저 환경 구성을 말씀드리면 (이것이 이상적이지 않고 Docker를 사용한 권장 배포 방식이 아님을 알고 있습니다):
- discourse 2.3.8
- ruby 2.7.2 (snap 사용)
- redis-server 5:4.0.9-1ubuntu0.2 (ubuntu 패키지)
- postgresql 10.15 (다른 호스트에 설치됨)
config/environments/production.rb 파일을 편집하여 다음 설정을 적용했습니다.
config.log_level = :debug
200 응답과 섞여 나타나는 오류의 예시는 여기(게시물에 링크를 2개 이상 올릴 수 없어 나머지 내용도 포함)에서 확인할 수 있습니다: https://pastebin.ubuntu.com/p/D4q7HmcNPj/
특정 유형의 요청이 500 오류를 유발하는지 확인해 보았는데, 실제로 일종의 패턴이 있습니다(이전 pastebin 참조).
현재로서는 더 이상 디버깅할 방법을 찾지 못하고 있습니다.
이것이 버그인지 확실하지 않고, 불행히도 재현할 방법도 없습니다. 이러한 오류는 하루 종일 200 응답 사이에 무작위로 발생합니다. 이는某种 락/경쟁 조건 문제일 수 있지만, 추가 로그가 없기 때문에 문제의 원인을 정확히 파악하기 어렵습니다.
혹시 이것이 문제의 원인이라면 현재 프로세스에 사용 중인 제한 사항은 다음과 같습니다: https://pastebin.ubuntu.com/p/ZZDrRNtbv4/
더 이상 디버깅하는 방법에 대한 도움이 크게 필요합니다.
감사합니다,