컨테이너의 Nginx를 사용하여 지오프록킹 설정하는 방법?

죄송합니다. 이건 정말 기초적인 질문입니다. 하지만 Nginx를 사용해 문제 있는 국가(즉, 지리차단)를 차단하고 원치 않는 사용자 에이전트를 막는 방법은 알고 있습니다. Discourse 앞에 리버스 프록시로 Nginx를 사용할 수도 있고, 이전에 그렇게 해본 적도 있지만, 컨테이너에 대해서는 아무것도 모릅니다. 솔직히 도커가 어떻게 작동하는지조차 이해하지 못합니다.

그래서, Discourse가 사용하는 Nginx를 그대로 사용할 수 있을까요? 혹은 더 간단히 말하면, 컨테이너 밖에서 하거나 할 수 있는 동일한 작업을 컨테이너 내부에서도 수행할 수 있을까요? 아니면 다음 업그레이드 시 모든 변경 사항이 덮어쓰기되지 않을까요?

내 설정이 권장 사항에 부합하는지에 대한 질문을 하고 싶지 않아서, 추가적인 Nginx를 리버스 프록시로 사용하는 것을 피하려고 합니다. :joy:

시간을 절약하기 위해 AI가 아닌 이곳에서 질문을 시작했습니다. LLM은 80% 정도 정확하지만, 나머지 20%의 오차가 정말로 많은 시간을 낭비하게 만들 수 있기 때문입니다…

이 질문이 이곳에 적합하지 않다는 것은 알고 있지만, 그렇다고 해서 명확하게 지원 질문인 것도 아닙니다. 다른 곳으로 이동해 주셔도 됩니다.

런처가 생성하는 Docker 컨테이너에 포함할 템플릿을 만드는 것이 좋습니다.

예를 들어, nginx 설정을 변경하는 이 레이트 리미팅 템플릿처럼 말입니다: discourse_docker/templates/web.ratelimited.template.yml at main · discourse/discourse_docker · GitHub

컨테이너 yml 구성 파일의 templates: 목록에 사용자 정의 템플릿을 포함시키면 됩니다.

다음에 컨테이너를 다시 빌드할 때, nginx 설정에 대한 변경 사항이 포함됩니다.

빠르게 검색해 보니, 제안된 대로 템플릿을 사용하거나 플러그인을 사용해야 하는 것 같습니다. 그렇지 않으면 모든 것이 덮어쓰기됩니다.

아니면 컨테이너 외부에서 리버스 프록시를 사용해야 합니다.

맞나요?

네, 하지만 nginx에 익숙하시다면 원하는 작업을 수행하는 템플릿을 만들거나(또는 app.tml에 몇 줄을 추가하는 것)은 그리 어렵지 않을 것입니다.