Nginx Reverse Proxy를 쉽게 사용하기 위한 Proxy-manager 구축하기.(NPM)

profile
달소

추가추가

 

https://svrforum.com/svr/284432

안녕하세요. 달소입니다.   이번글은 홈서버에서 가장 유용하게 사용할수 있는 팁이자 이해만하신다면 정말 쉽게 사용할 수 있는방법입니다.   ...
달소 | 2022.05.06

 


 

안녕하세요. 달소입니다.

 

오늘도 새로운 정보를 하나 주워왔습니다 ㅋㅋ..

오늘 라우터가 도착하기로해서 리버스프록시 셋팅을 바꾸려고 이것저것 찾아보는데 

 

Proxy-Manager 라는 Docker Image가 존재하더군요.

 

https://nginxproxymanager.com/

Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful ...

 

nginx의 리버스프록시와 Let's Encrypt 인증서를 쉽게 발급받을 수 있도록 도와주는 이미지입니다.

 

사전준비

설치 OS는 Ubuntu 20 LTS

docker,docker-compose 설치

 

없으면 apt install docker.io docker-compose

docker-compose로 컨테이너 생성하기.

먼저 데이터를 저장할 디렉터리를 먼저 생성해주세요.

mkdir -p /data/proxy-manager

 

cd /data/proxy-manager

vi docker-compose.yml

 

80,443은 웹서비스를 위한 포트 81번은 관리를 위한 웹페이지입니다.

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

 

이제 docker-compose up -d 명령어로 컨테이너를 만들겠습니다.

 

image.png.jpg

 

설치후 docker ps 명령어로 컨테이너를 확인할 수 있고 ip:81번으로 접속해주세요.

 

image.png.jpg

 

계정정보는 아래 정보로 입력해주면됩니다.

 

Email:    admin@example.com
Password: changeme

image.png.jpg

 

로그인하면 계정명 pw 다변경해야합니다.

 

image.png.jpg

 

 

로그인 하고나오면 이제 대시보드, 호스트, 액세스리스트, 인증서 등 확인이 가능합니다.

 

image.png.jpg

 

image.png.jpg

 

image.png.jpg

 

npm의 80번 포트로 접근하면 아래처럼 Congration이 나옵니다 

 

image.png.jpg

 

인증서 발급부터 프록시 실습은 다음글에서 작성하도록 하겠습니다.

서버포럼 관리자입니다.!

서버포럼은 홈서버로 운영중이며 아래와같은 시스템으로 운영됩니다.

 

메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등

보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업서버 - 타오나스 A형(?) / DS918+ 6.2.3 / 메인서버 VM 백업용

 

하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

 

 

적용중인 도장이 없습니다.

* 가입일 : 2020-12-24
* 총 게시글 수 : 6571
* 총 댓글 수 : 19932
* 추천받은 게시글 개수 : 2559
* 추천받은 댓글 개수 : 3201
댓글
32
  • 테돌아이
    달소
    작성자
    2021.07.09
    @테돌아이 님에게 보내는 답글

    down을 하면 자동으로 삭제도 됩니다.

    볼륨매칭되어있는 폴더들만 추가로 삭제 후 다시만들어주시면되요

     

    포트만 변경하시는거라면 down 후 설정파일바꾸고 up -d만 해줘도 설정값 변경됩니다.

  • 달소
    테돌아이
    2021.07.09
    @달소 님에게 보내는 답글

    헐...

    나름 스스로 해보려고 했는데 이런 쉬운 방법이

    저는 Portainer 설치를 해서 그곳에서 컨테이너 삭제를 했네요.

    감사합니다.

  • 테돌아이
    2021.07.09

    성공을 하였습니다.

    공유기 포트포워딩을 우분투 ip 에 대한 80과 443 포트를 열어주니 되네요.

    감사합니다.

    이제 어느정도 해결은 되었네요.

    혹시 자동으로 갱신은 없나요

  • 테돌아이
    달소
    작성자
    2021.07.09
    @테돌아이 님에게 보내는 답글

    자동갱신은 CLI환경에서는 가능한데 프록시매니저는 찾아보셔야할듯합니다.

  • 테돌아이
    2021.07.11

    헤놀 아이피가 XXX.XXX.XXX.57

    우분투아이피 XXX.XXX.XXX.58

    라고 과정을 하고요.

     

    공유기에서 내부아이피를 헤놀로 입력해서 포트포워딩 80,443 두개를 열었습니다.

    헤놀에서는 잘 되는데 우분투에서는 동일하게 했는데 안됩니다.

    뭐가 문제일까요?

     

  • 테돌아이
    테돌아이
    2021.07.11
    @테돌아이 님에게 보내는 답글

    Internal Error 나옵니다.

     

  • 테돌아이
    달소
    작성자
    2021.07.11
    @테돌아이 님에게 보내는 답글

    우분투에서 어떤걸하시는건가요?

  • 달소
    테돌아이
    2021.07.11
    @달소 님에게 보내는 답글

    아...

    해결을 했습니다.

    npm 입니다.

  • 테돌아이
    달소
    작성자
    2021.07.12
    @테돌아이 님에게 보내는 답글

    해결되셨다니 다행입니다ㅎ

  • 달소
    테돌아이
    2021.07.12
    @달소 님에게 보내는 답글

    ㅎ 감사합니다.

  • 블랙앤해적
    2022.10.07

    Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use

    443포트가 사용중이라 생성이 안되는데요.. 443포트 사용중인게 없거든요.. 먼가 해줘야 하는데 검색이 잘안되네요.

  • 블랙앤해적
    달소
    작성자
    2022.10.09
    @블랙앤해적 님에게 보내는 답글

    시놀로지의 경우 443 포트를 dsm에서 점유하고있기때문에 타 포트를 적어주시고 포트포워딩을 해당포트로해주시면됩니다.

    ex) 8080:80, 8443:443으로 매핑하고 포트포워딩시 공유기의 80을 8080으로 443은 8443으로요

댓글 쓰기
권한이 없습니다.