집 PC/서버를 이용한 Public Service 구성

2024. 1. 1. 22:41프로그래밍/기타

반응형

집에 서버를 두고 퍼블릭 서비스를 하기 위해서는 공인 아이피가 없음으로 인한 여러 제약들이 있습니다.

DDNS를 이용해서 접근하는 방법이 있지만 이 또한 한계가 있습니다.

 

이럴때 사용해볼 수 있는 방법이 클라우드와 연동해서 VPN을 이용한 서비스를 구성하는 방법입니다.

제가 사용하고 있는 서비스 구성 형태를 간단히 기술해보려고 합니다.

 

사용한 솔루션 리스트는 다음과 같습니다.

1. Nginx Proxy Manager

2. Tailscale

 

Nginx Proxy Manager는 

AWS에 nginx proxy managerdocker-compose를 이용해서 설치합니다.

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

 

설정 정보에 보시면 ports 번호가 80, 81, 443번만 오픈되어있습니다만 특정 포트를 지정해서 서비스 하고자 하신다면 여기에 포트를 지정해주셔야 합니다. 

중요) nginx proxy의 stream 을 사용하시는 경우 포트를 지정해서 전달하는데 여기에 포트를 넣어주셔야 서비스 연동이 가능합니다. 

 

툴에 대한 자세한 사용법은 다른 블로거 분들이 정리를 잘 해두신 경우가 많으니 참고하시구요. 본 글 하단에 링크 추가해두겠습니다.

Nginx Proxy Manager에서 호스트, 리다이렉트, 스트림으로 전달할 서버를 지정하게 됩니다. 여기에서 클라우드 인스턴스와 집에 있는 서버와 서로 VPN을 이용해서 연결 해주게 되면 리버스 프록시 설정에 VPN 아이피를 이용해서 연동할 수 있게 됩니다.

이 때 사용하는 솔루션이 tailscale 입니다.

 

Tailscale은...

tailscale은 VPN 서비스 프로바이더입니다. 이 서비스를 이용하게 되면 별도의 VPN 서버를 구성할 필요 없이 로그인 만으로 나만의 VPN 그룹을 생성하게 됩니다.

먼저 여기에서 회원가입을 하세요.

클라우드에 있는 서버에도 클라이언트 다운로드를 하셔서 설치하시고, 집에 연결할 서버들에도 설치해주시면 됩니다.

 

각 클라이언트 설치후에 동일한 아이디로 로그인 하시면 각각 서버별로 다른 아이피를 지정받게 되고, 해당 IP를 이용해서 상호간에 자유롭게 접속이 가능해집니다.

물론 집에 있는 서버에 직접 연결하고자 한다면 개발자 PC에도 tailscale을 설치하면 됩니다.

 

기본적으로 nginx proxy의 경우 http 프로토콜 이외의 연결은 stream 을 이용해서 셋팅해주셔야 합니다.

집에 SVN, DB, Mail server 등을 두고 외부에서 공인 아이피로 접근하고자 하신다면 이 stream 을 이용해서 설정하시면 됩니다.

 

※ 참고 자료

 

홈서버 - nginx proxy manger 사용팁 모음

nginx proxy manger 설치 SSL 인증서발급 ssl 인증서발급문제 : iptime.org 발급불가 발급완료화면 https 적용하기 (SSL 인증서 적용) Proxy host 설정 메인설정 docker 환경을 이용한 custom location docker network 설정

xenostudy.tistory.com

 

 

Tailscale이란 무엇인가?? 기본적인 개념과 사용방법.

안녕하세요. 달소입니다. 이번글은 Tailscale의 기본적인 개념과 사용방법에 대해서 소개해드리려고합니다. 제가 Tailscale을 선택한 이유는 아래글을 참고해주시면됩니다. 돌고돌아 마지막 VPN(?) Tai

it-svr.com

 

 

Tailscale · Best VPN Service for Secure Networks

Tailscale is a zero config VPN for building secure networks. Install on any device in minutes. Remote access from any network or physical location.

tailscale.com

 

 

궁금하신 것이 있으시면 댓글 남겨주세요.

 

반응형