본문 바로가기
IT&DEV - IT & 개발/ETC

[OMV6]Nginx Proxy Manager - an upstream response is buffered to a temporary file

by Hoft 2025. 3. 12.
728x90
반응형

📌 Nginx Proxy Manager에서 Custom Configuration 적용하는 방법

안녕하세요! 이번 글에서는 **Nginx Proxy Manager(NPM)**에서 Custom Configuration을 적용하는 방법을 알아볼게요.

Nginx Proxy Manager를 사용하다 보면, 기본 설정만으로는 부족할 때가 있죠? 특히 버퍼 크기 조정, 캐시 설정, 특정 요청 처리 등을 커스터마이징하려면 Custom Configuration을 추가해야 합니다.

 

저의 경우는 여러번 proxy 호출을 하다보니 응답이 오지않아 확인하니 아래와 같이 에러로그가 있었어요

response is buffered to a temporary file /var/tmp/nginx/proxy/8/86/0000002868 
while reading upstream, client: xxx.xx.xx.xx, server: xxxx.duckdns.org, 
request: "POST /sdk/ HTTP/2.0", upstream: "https://xx.xx.xx.xx:xx/sdk/", 
host: "xxxx.duckdns.org", referrer: "https://xxx.duckdns.org/ui/"

 

이는 다음과 같은 원이 있을 수 있어

  1. 응답 크기가 너무 큼
    • 업스트림 서버(192.168.219.110:443)에서 반환하는 응답 크기가 Nginx의 proxy_buffer_size보다 큼.
  2. Nginx의 버퍼 설정 부족
    • proxy_buffers 또는 proxy_busy_buffers_size가 충분하지 않아 응답 데이터를 메모리에 저장할 수 없음.
  3. 디스크 I/O 부담
    • 임시 파일을 사용하면 성능이 저하될 수 있음.

 

이를 해결하기 위해 Custom Configuration을 설정해볼게요


🔹 1. Nginx Proxy Manager 접속하기

먼저 Nginx Proxy Manager 웹 UI에 접속해야 합니다.

  1. 브라우저에서 NPM 관리 페이지로 이동합니다.
  2. 관리자 계정으로 로그인합니다.

🔹 2. Proxy Host 설정에서 Custom Configuration 추가하기

📌 Proxy Host 수정 방법

  1. Proxy Hosts 메뉴 클릭
    • 왼쪽 메뉴에서 Proxy Hosts를 선택하세요.
  2. 설정할 도메인 선택 후 Edit 클릭
  3. Advanced → Custom Nginx Configuration 추가
    • Advanced 탭으로 이동합니다.
    • Custom Nginx Configuration 입력란에 아래 코드를 추가하세요.
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    📌 설정 설명
    • proxy_buffer_size 128k; → 요청 버퍼 크기 설정
    • proxy_buffers 4 256k; → 요청당 4개의 256KB 버퍼 사용
    • proxy_busy_buffers_size 256k; → 응답을 처리하는 동안 사용할 최대 버퍼 크기


  4. 설정 저장 후 적용
    • Save 버튼을 클릭하고, Proxy Host를 다시 Enable하세요.
    • 일부 설정은 바로 적용되지만, 확실하게 반영하려면 컨테이너를 재시작하는 게 좋아요.


🔹 3. Docker Compose를 사용하는 경우 Custom Configuration 적용하기

Docker Compose를 사용해서 직접 설정을 추가하는 방법도 있어요.

📌 설정 파일 만들기

  1. 설정 파일 생성
    mkdir -p ~/npm/custom
    nano ~/npm/custom/proxy.conf
  2. 파일 내용 추가
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

📌 Docker Compose 설정 수정

  1. docker-compose.yml 파일을 열고 volumes 설정을 추가하세요.
  2. services: npm: image: 'jc21/nginx-proxy-manager:latest' container_name: npm restart: unless-stopped ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt - ./custom/proxy.conf:/etc/nginx/conf.d/custom_proxy.conf:ro
  3. 컨테이너 재시작
  4. docker-compose down docker-compose up -d
  5. 설정이 적용되었는지 확인위 명령어를 실행해서 설정 파일이 정상적으로 반영되었는지 확인하세요! 😊
  6. docker exec -it npm cat /etc/nginx/conf.d/custom_proxy.conf

✅ 적용 결과 확인하기

설정 적용 후에도 제대로 동작하는지 확인하는 게 중요하겠죠?

  1. Nginx Proxy Manager 로그 확인
    docker logs npm -f --tail=50
  2. 웹 서비스 정상 작동 여부 확인
    • https://url.duckdns.org로 접속해서 제대로 동작하는지 체크!

설정이 잘 적용됐다면, 이제 Nginx Proxy Manager에서 더욱 자유롭게 설정을 커스터마이징할 수 있습니다.


 

728x90
반응형

댓글