오늘 저는 discourse 인스턴스 중 하나를 호스팅하기 위해 두 번째 서버를 추가하는 것을 시도했습니다. 컨테이너는 외부 redis, postgres, 스토리지 서버를 사용하도록 구성되어 있으며 웹 애플리케이션만 실행합니다. 지금까지 단일 서버 사이트를 HAProxy 뒤에 배치하여 문제 없이 운영해 왔습니다. HAProxy 뒤에 서버 2대를 배치하여 실행하면 nginx에서 JS 파일에 대해 404 오류가 상당히 많이 발생합니다. HAProxy에서 서버 중 하나를 제거하면 문제가 사라집니다. 404가 발생하는 파일의 URL은 동일해 보이므로, 어느 서버에서도 제공되지 않는 이유를 알 수 없습니다.
Haproxy에서 백엔드를 추가하고 제거하는 것 외에 테스트를 위해 어떤 작업을 수행하셨나요?
Haproxy 설정이 랜덤 백엔드 방식을 사용하나요, 아니면 어피니티(Affinity) 방식을 사용하나요? 404 오류가 Haproxy에 기록되나요? nginx에 기록되나요? 오류가 발생하는 것이 첫 번째 백엔드인지 두 번째 백엔드인가요? 사이트에 로그인해야 하나요? 프록시 서버 뒤에서 nginx에 직접 연결했을 때 오류를 재현할 수 있나요? 요청되는 파일들이 디스크에 실제로 존재하나요? 모든 JS 파일에서 발생하는 건가요, 아니면 특정 파일에서만 발생하는 건가요?