Profile picture

[Docker] Nginx Proxy Manager(NPM)으로 정말 간단하게 SSL 인증서 발급 받기

JaehyoJJAng2023년 05월 16일

사전 준비

  • 80 / 443 포트포워딩 된 NPM 서버

NPM이 아직 구축되지 않았다면 [Docker] Nginx Proxy Manager(NPM) 구축하기에서 NPM을 구축하고 오도록 하자.

NPM 구축이 완료되었다면 추가로 Reverse Proxy 대상인 dozzle(컨테이너 로그 조회 오픈소스) 이라는 앱을 올려볼거다.
저번 포스팅([Docker] Nginx Proxy Manager(NPM) 구축하기)에서 테스트해봤던 dozzle 앱이다.

version: "3"

services:
  dozzle:
    image: amir20/dozzle:latest
    restart: always
    container_name: dozzle
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    networks:
      - "npm-net"

networks:
  npm-net:
    name: npm-net
    external: true

도커 네트워크는 npm 앱이 속한 npm-net 네트워크로 지정해줬다.


host 등록하기

Dashboard -> Proxy Hosts로 이동하자.
image


여기서 필수 정보를 입력하자.

외부에서 접근할 때 사용할 도메인 이름 또는 서브도메인 필요.(DNS 등록 필요 // 가비아, 클라우드플레어 등등 ..)

나의 경우에는 dozzle 컨테이너의 내부 포트인 8080로 Proxy를 할 것이기 때문에 아래처럼 작성하였다.
image

💥 Container Port Powarding
위 같은 구성을 사용하려면 dozzle 컨테이너 및 NPM 컨테이너가 동일한 도커 네트워크에 속하여야 한다.


그 다음 가장 중요한 SSL 설정이다.

인증서를 발급 받을 것이기 때문에 'Request a new SSL certificate'를 선택해주자.

아래 옵션들은 SSL을 강조할 것인지 등의 설정이다.
하단의 'Use a DNS Challenge'의 경우 와일드카드 인증서를 받을 때 많이 사용된다. 여기서는 기본 인증으로 하겠다.
image


이제 완료 후 Save를 눌러주기만 하면 끝이다.
image


Loading script...