본문 바로가기
Synology

역방향 프록시?

by kage2k 2023. 5. 5.
728x90
반응형

* 안내말 입니다.

--------------
* 개인적으로 남기는 글입니다. 아래의 경우를 미리 공지합니다. 
1. 높임말은 없는 경우가 있습니다. 
2. 영어, 일본어, 베트남어를 공부하고 있습니다. 경우에 따라서 사용됩니다.
3. 보기 거북하다면 뒤로가기 해주세요.

-------------

포트포워딩과 리버스 프록시

대부분의 사람은 시놀로지를 사용하다보면 최종적으로 docker 에 사용을 하게 되는 경우가 많습니다.
필자또한 그랬다. 아래의 그림은 사용자가 도커의 컨테이너를 최종요청하는 흐름을 나타내고 있습니다.

사용자가 서버의 혹은 도커에 올린 서비스를 요청하게 되면 최초로 만나게 되는것은 공유기 입니다.
그리고 공유기에서 사용자의 요청을 찾아서 서버에 연결하는 작업을 해야합니다. 여기서 적용되는 것이 포트포워딩 입니다.

포트 포워딩: 컴퓨터 네트워크에서 패킷이 라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다. 

위키백과: 포트 포워딩

리버스 프록시(reverse proxy)는 컴퓨터 네트워크에서 클라이언트를 대신해서 한 대 이상의 서버로부터 자원을 추출하는 프록시 서버의 일종이다. 그런 다음 이러한 자원들이 마치 웹 서버 자체에서 기원한 것처럼 해당 클라이언트로 반환된다.[1] 관련 클라이언트들을 위해 임의의 서버에 접속하는 중간 매개체인 포워드 프록시(forward proxy)와는 반대로, 리버스 프록시는 관련 서버들을 위해 임의의 클라이언트가 해당 서버에 접속하는 중간 매개체이다.

위키백과: 리버스 프록시

두가지의 뜻을 위키백과에서 찾아봤습니다.

간단하게 말해서 "포트포워딩" : 외부와 내부, 즉 집안과 밖을 관리해주는 것이며, "리버스 프록시" 란, 서버와 도커 사이에 놓인 연결 다리 라고 생각하면 될것 같습니다. 

 

포트는 어떻게 포워딩 해야할까?

예를 들어서 대부분의 한국 유저가 사용하는 iptime 공유기 가 있습니다. 

많은 인터넷 글에서도 이야기 하듯 포트를 많이 열어두면 그만큼 보안에 취약해집니다. 
하지만 현실적으로 일반적인 사용자는 포트포워딩이 뭔지 알지 못하며, 단순하게 DMZ 설정을 하고 사용하기도 합니다. 
*보안에 취약해질 수 있으니, 80 번과 443 포트만 포워딩으로 열어서 사용하면 됩니다. 
내부 IP주소에 서버주소를 넣어준다. 

 

!! 주의 !!
역방향 프록시 를 적용하기 위해서는 인증서를 꼭 발급 받아야합니다.
Let's Encrypt 인증서로 발급받아서 사용하는 방법도 있습니다. 

 

 

시놀로지 7.0 이상 리버스 프록시 설정 방법

1 - 2 순서로 진행

4 : 사용자가 알기 편한 이름
5 : 80 포트를 사용할것이라면 http // 443 포트를 사용할 것이라면 https
6 : 도메인을 기록해준다. 예를 들어 시놀로지 DDNS를 이용한다면 해당 서브 도메인으로 만들어서 
7 : 5번과 동일
9 : 도커에서 제공하는 포트에 따라서 http / https 로 지정한다
10 : 현재 서버가 1대라면 localhost도 상관없다. NAS 서버의 아이피로 지정한다. 
11 : 도커에서 제공하는 서비스의 포트 번호를 기록한다. 

저장을 하고 어느정도 지나면 호스트에 입력한 주소로 접속이 가능하게 됩니다. 

 

 

1개의 공인 아이피에 2개의 도메인

 

현재 시놀로지 1대와 헤놀로지(노트북) 으로 구성하여 2개의 서버를 개인적으로 가지고 있다. 

처음에는 1개의 도메인만 구매하여 사용하였다. (구글도메인)
헤놀을 구성하면서 다른 도메인도 구매하였다. (가비아)

이렇게 1개의 공인 아이피에 2개의 도메인을 구성하게 되었다. 

이러저래 고생하다가 적용법을 기록으로 남긴다. 

나스1 에서 운영되는 도커 | 나스2 에서 운영되는 도커 
각각의 도메인도 다르다. 

1. 공유기에서 적용시킨 80번 포트와 443 포트 사용하는 나스에서 역방향 프록시를 적용할 수 있다.
2. 예를 들어 현재 나스1 인경우, 나스2 에서 적용되는 도메인에 관한 인증서를 나스1에 적용합니다.
3. 각 도메인 업체에 cname으로 서브도메인을 만들어서 적용한다. 
(나스2에 DNS서버를 설치해서 가비아의 서브도메인을 관리하고 있다)
4. 역방향 프록시에 원하는 도커서비스를 적용한다.
5. 적용된 인증서를 아래와 같이 적용 인증서를 변경합니다.

이상으로 적용법을 남겨본다. 

 

끝.

 

 


* Setapp on Mac invite link flutterkage2k
https://go.setapp.com/invite/jinheesung

*  If it helps, buy me a cup of coffee.
https://www.buymeacoffee.com/flutterkage2k

감사합니다.

300x250
반응형