이번 주에 수행된 정기적인 침투 테스트(pentest)에서 사용 중인 NGINX 버전이 EOL(지원 종료) 상태임을 발견했습니다. 이를 악용하는 것은 불가능했지만, 가능한 한 빨리 수정해야 한다는 지적을 받았습니다.
git pull을 통해 Discourse를 업데이트해도 여전히 문제가 해결되지 않는 이유는, Discourse Docker 저장소가 업데이트되었음에도 불구하고 템플릿이 이전 버전의 베이스 이미지(discourse/base:2.0.20260109-0020)를 고정하고 있기 때문입니다.
몇 가지 질문이 있습니다:
왜 고정된 NGINX 버전이 처음부터 EOL 상태가 될 정도로 오래되었나요? 제가 모르는 합당한 이유가 있을까요?
왜 새 버전으로 1.28.1을 선택하고 1.29.4(2026.01.27 기준 최신 버전)를 선택하지 않았나요? - 이 또한 합당한 이유가 있을까요?
일반적으로 Discourse는 모든 사용자가 최신 버전을 사용하도록 꽤 적극적입니다(이것은 합리적인 것으로 보입니다), 즉 과거의 tests-passed와 같은 방식입니다.
NGINX를 어떻게 업데이트할 수 있을까요(이상적으로는 로컬에서 임시로 우회하는 방법 없이)?
아쉽게도 여전히 작동하지 않는 것 같습니다. git pull을 실행한 후 ./launcher rebuild app를 실행하니 새로운 이미지(discourse/base:2.0.20260116-2039)가 가져와졌지만, 해당 이미지에는 여전히 nginx 1.26.3가 포함된 것으로 보입니다: