앞의 글에서, Nginx Proxy Manager(이하 npm)의 설치 및 초기 설정에 대해서 다루었다. 여기서는 뒷단 서버로 연결하는 설정을 다룬다.

 

Proxy Host 설정

상단의 Dashboard 탭 > Proxy Hosts를 누르거나, 상단의 Hosts 탭 > Proxy Hosts를 누르면, 도메인별 proxy 설정을 할 수 있다. Add Proxy 버튼을 눌러 다음과 같이 채워준다.

static.example.com를 minio 9000/tcp에 연결하는 예제

  • Domain Names: 사용하고자 하는 domain 이름을 적는다. 도메인 이름을 입력하고 엔터(혹은 탭키)를 입력하여 그림과 같이 전체 이름이 회색 블럭으로 입력되도록 한다.
  • Scheme: SSL termination은 npm이 담당하고, npm과 upstream 간에는 HTTP 통신으로 단순화하려고 하니, http로 유지한다.
  • Forward Hostname / IP: 연결시키고자 하는 호스트이름 혹은 IP주소를 입력한다. 다른 docker container 호스트명(hostname 설정을 별도로 하지 않은 경우, container_name)을 직접 입력해도 된다.
    • 공유기(라우터)의 DHCP가 고정으로 할당하는 IP가 있거나 docker network 내의 IP를 입력해도 좋으나, 공유기 설정이 바뀌거나 docker network가 바뀌는 경우 IP도 같이 바뀔 수 있다. 가급적이면 호스트명을 입력하고, 호스트명으로 해당 container 혹은 서버에 접속할 수 있도록 유지하는 것이 좋다.
  • Forward Port: 연결시키고자 하는 호스트에 접속할 수 있는 포트를 입력한다. 같은 docker network에 있는 다른 container에 접속시키는 경우, 굳이 expose로 container의 포트를 docker host에 노출시키지 않아도 된다. 다만, Forward Hostname / IP 부분에 docker host의 IP를 적었을 경우: docker container의 포트를 expose로 host에 노출시키고, 해당 포트를 적어주어야 한다.
  • Block Common Exploits: 활성화하게 되면, SQL injection, file injection, spam block, 몇몇 crawler를 차단, 그리고 몇가지 공격으로부터 차단하는 기능을 제공한다.
  • 위의 세가지 예제(nginx/apache, minio, notebook)에 맞게 적어보면
    • nginx/apache
      • Domain Names: example.com
      • Scheme: http
      • Forward Hostname / IP: nginx (혹은 apache)
      • Forward Port: 80
    • minio
      • Domain Names: static.example.com
      • Scheme: http
      • Forward Hostname / IP: minio
      • Forward Port: 9000
    • notebook
      • Domain Names: nb.example.com
      • Scheme: http
      • Forward Hostname / IP: notebook
      • Forward Port: 8080

+ Recent posts