Nginx 버전 고정

정확히 Contribute > Bug 카테고리는 아니지만, 다른 어떤 카테고리에 넣어야 할지 명확하지 않습니다. 문제점이 있으며 #contribute:feature도 아닙니다. #support일 수도 있지만, 여기서는 제가 무엇을 하고 있는지 꽤 확신이 있습니다.

참고: 3년 전의 유사한 게시글 Dockerfile in official install instructions uses unsupported version of Nginx

이번 주에 수행된 정기적인 침투 테스트(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를 어떻게 업데이트할 수 있을까요(이상적으로는 로컬에서 임시로 우회하는 방법 없이)?

1개의 좋아요

특별한 이유는 없습니다. 업데이트 프로세스를 꽤 오랫동안 거치지 않았을 뿐입니다. EOL이 되기 전에 이 문제를 파악했어야 한다는 말씀이 맞습니다.

1.28.1이 최신 ‘안정판(stable)’ 버전이기 때문에 이 버전을 선택했습니다. 1.29.x는 변경이 잦은 ‘메인라인(mainline)’ 버전이며, 현재는 해당 버전의 새로운 기능이 필요하지 않습니다.

이 문제를 알려주셔서 감사합니다. 이제 템플릿의 태그를 업데이트하는 작업을 완료했습니다. 따라서 ./launcher rebuild app를 다시 실행하면 새로운 nginx 버전을 사용할 수 있을 것입니다.

6개의 좋아요

아니에요, 그리고 빠른 답변 감사드립니다 @david !

아쉽게도 여전히 작동하지 않는 것 같습니다. git pull을 실행한 후 ./launcher rebuild app를 실행하니 새로운 이미지(discourse/base:2.0.20260116-2039)가 가져와졌지만, 해당 이미지에는 여전히 nginx 1.26.3가 포함된 것으로 보입니다:

root@server:/var/discourse# docker exec -it app nginx -v
nginx version: nginx/1.26.3

혹시 컨테이너 캐싱 관련 이상한 문제가 있는 경우를 대비해 제 쪽에서 조사 중이지만, AFAICT(제가 아는 한) 20260116-2039 베이스 이미지에 NGINX 1.26.3가 여전히 포함되어 있는 것 같습니다.

1개의 좋아요

흥미롭네요, 저도 동일한 현상을 확인하고 있습니다. 설정에서 NGINX를 업데이트했지만, 이미지 버전 업데이트는 Redis를 업데이트하기 위한 것이었고 NGINX를 위한 것은 아니었던 것 같습니다.

팀과 상의하여 더 새로운 이미지 버전을 고정(pinning)할 수 있는지 확인해 보겠습니다.

4개의 좋아요

NGINX 버전 고정 이슈에 대한 업데이트가 있나요? 2026.1.0-latest 릴리스를 확인했지만, AFAICT로 보아 기본 이미지가 업데이트되지 않는 것 같습니다.

이미지를 다시 업데이트했습니다: Bump base image to `20260129-0023` (#1035) · discourse/discourse_docker@068819b · GitHub

따라서 다음 재빌드 시 NGINX 1.28.1을 사용하게 될 것입니다.

3개의 좋아요

@david, 고마워요. 이제 잘 작동해요.

1개의 좋아요