Skip to content

v2.20.0

Choose a tag to compare

@github-actions github-actions released this 27 May 02:01
· 723 commits to main since this release

Docker 컨테이너명 포워드 타깃 (#150) — 컨테이너 IP 대신 이름으로 프록시 대상을 지정해, 재시작으로 내부 IP가 바뀌어도 끊기지 않습니다. + 기존 백업 복구 버그 수정.


🚀 신기능

Docker 컨테이너명으로 포워드 타깃 지정 (#150)

기존에는 프록시 대상을 Docker가 할당한 IP로만 지정할 수 있어, 컨테이너/시스템 재시작 시 내부 IP가 바뀌면 서비스 장애가 발생했습니다. 이제 컨테이너 이름으로 지정하면 NPG가 현재 IP를 자동으로 따라갑니다.

  • 이름 기반 타깃 — 프록시 호스트 생성/수정 화면에서 Docker 버튼으로 컨테이너를 선택하면, IP 대신 컨테이너명이 저장됩니다.
  • 자동 IP 해석 — API가 docker.sock으로 컨테이너의 현재 IP를 해석해 적용합니다.
  • 자동 재조정 — 백그라운드 스케줄러(기본 30초, NPG_CONTAINER_RECONCILE_INTERVAL로 조정)가 컨테이너 IP 변경을 감지해 해당 호스트 config를 fail-safe 경로(nginx -t → reload)로 재생성합니다. 해석 실패 시에는 직전 설정을 유지합니다.
  • 언더스코어 컨테이너명(예: my_app)도 지원합니다.
  • nginx는 기존 host 네트워킹을 유지 — 실제 클라이언트 IP 추출 동작은 그대로입니다.

사용법: 프록시 호스트 폼 → Forward Host 옆 Docker 버튼 → 컨테이너 선택. 선택하면 "Docker container: <이름> (auto-resolved by name)" 표시가 나타나고, 재시작 후에도 IP가 자동 갱신됩니다.


🛡️ 수정

  • 백업 복구 실패 버그 수정 (기존 버그) — proxy_hosts 복원 INSERT의 플레이스홀더 1개 누락(meta 컬럼)으로 v2.19.2까지 프록시 호스트 백업 복원이 실패하던 문제를 수정했습니다. 백업 복원을 사용하는 모든 사용자에게 영향.
  • clone / 즐겨찾기 정합성 — 컨테이너 기반 호스트를 복제하거나 즐겨찾기를 토글할 때 컨테이너 바인딩이 유지되도록 보강했습니다.

🔧 호환성 / 안전성

  • DB 마이그레이션 3-way 동기화 + 백업 export/import 동기화로 기존 사용자 업그레이드 안전 (구버전 백업은 컬럼 없이도 정상 복원).
  • Non-regression: 기존 IP / 도메인(FQDN) 타깃 호스트는 동작 변화가 전혀 없습니다.
  • 검증: 단위 테스트 + API/UI E2E(실제 브라우저) + 전체 회귀 스위트(365 passed) + 실서버 배포 검증.

Docker Images

docker pull svrforum/nginxproxyguard-api:2.20.0
docker pull svrforum/nginxproxyguard-ui:2.20.0
docker pull svrforum/nginxproxyguard-nginx:2.20.0

Architectures: linux/amd64, linux/arm64

Component Status
API Built
UI Built
Nginx Skipped (no changes)