
imgproxy는 웹 애플리케이션 대신 이미지 크기 조정·자르기·변환을 요청 시 처리하는 독립형 서버다. 이미지 URL과 처리 옵션을 담은 URL을 만들면 imgproxy가 원본을 가져와 결과 이미지를 제공한다.
JPEG, PNG, GIF, WebP, AVIF, JPEG XL 등을 지원하며, 이미지 회전·워터마크·필터 적용과 메타데이터 제거, PNG 양자화도 제공한다. 기본 기능과 imgproxy Pro의 기능은 다르며, Pro에는 영상·PDF·Photoshop 문서 미리보기 생성, 고급 워터마크와 색상 조정, GIF에서 MP4로의 변환 등이 포함된다. 전체 기능 목록에서 세부 내용을 확인할 수 있다.
imgproxy는 HTTP 서버로 동작한다. 애플리케이션은 처리 옵션을 지정한 imgproxy URL을 생성하고, 그 URL을 HTML·CSS·JavaScript에서 이미지 주소처럼 사용할 수 있다. 프로젝트는 이미지 처리에 libvips를 사용한다고 설명하며, 속도와 메모리 사용량에 관한 비교 자료는 벤치마크 보고서에서 제공한다.
프로젝트는 URL 서명, 이미지 유형과 실제 크기 확인, HTTP 헤더를 통한 인증, 원본 이미지 출처와 파일 크기 및 처리 옵션 제한 등을 보안 기능으로 제시한다. 운영 환경에서는 CDN이나 로드밸런서, 리버스 프록시 뒤에서 실행하는 구성을 전제로 하며, 자체 HTTPS 지원은 제공하지 않는다고 설명한다. 자세한 설정은 보안 문서를 참고할 수 있다.
Docker를 이용한 실행 방법은 다음과 같다.
docker run -p 8080:8080 -it ghcr.io/imgproxy/imgproxy:latest
실행 후 http://localhost:8080에서 이미지 처리 요청을 받을 수 있다. 단계별 안내는 시작 가이드, 전체 문서는 imgproxy 문서에서 확인할 수 있다. imgproxy는 Apache License 2.0으로 배포된다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요