• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

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

달소 달소 5528

4

36

추가추가

 

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

 

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

신고공유스크랩
36
profile image
달소 글쓴이 2021.07.09. 15:40
테돌아이

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

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

 

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

테돌아이 2021.07.09. 16:01
달소

헐...

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

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

감사합니다.

테돌아이 2021.07.09. 16:39

성공을 하였습니다.

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

감사합니다.

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

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

profile image
달소 글쓴이 2021.07.09. 18:52
테돌아이

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

테돌아이 2021.07.11. 19:14

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

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

라고 과정을 하고요.

 

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

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

뭐가 문제일까요?

 

블랙앤해적 2022.10.07. 20:42

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

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

profile image
달소 글쓴이 2022.10.09. 22:14
블랙앤해적

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

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

장작_범댕이 2023.01.19. 10:01
리버스프록시를 하려면 무조건 도메인을 사야하는건가요?
사야한다면 무료도메인좀 알려주세요ㅠㅠ
지금은 내도메인.한국 에서 공유기IP 연결시켜놨습니다
profile image
달소 글쓴이 2023.01.19. 12:14
장작_범댕이
하위도메인을 사용하기때문에 무조건 사야되는건 아니지만 구매하시는편이 훨씬낫습니다.
개인적으로는 클라우드 플레어 추천드립니다.

무료도메인은.. 뭐 딱히 추천드리지는 않지만 ducksdns 사용가능합니다
장작_범댕이 2023.01.20. 05:58
달소
알려주신 방법으로 dsm페이지까지 들어가는덴 성공했습니다!! 하지만 모바일에서 쓸 ds file이 안됩니다ㅠㅠ
장작_범댕이 2023.01.20. 20:35
장작_범댕이
와우와우 도메인에서 포트를 80번으로 하니깐 정상적으로 되네요
앱에서 사이트로 인식 안하고 큌커넥트 아이디로 인식하나봅니다!!ㅎㅎ
12

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

본 게시판은 서버구축 게시판과 통합되었습니다.

서버구축 게시판 이동하기