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

헤놀로지 역방향 프록시 reverse proxy

xpnol 205

0

13

저의 현재상황은 아래와 같습니다.

  1. 헤놀로지 w/ VirtualBoxVM
  2. cloudflare domain only
  3. cloudflare에서 사용하는 tunnel을 사용하지 않습니다.

DSM이 제공하는 역방향 프로시 기능을 사용하고자 합니다.

testserver1.mydomain.do -> 192.168.*.*:##### 

위와 같이 DSM -> control -> login portal -> Advance -> reverse proxy 에 설정합니다.

image.png.jpg

 

근데,,,, 안되요 ㅠㅠㅠ

 

증상은 아래와 같습니다.

 - myDomain.do 로 잘 DSM에 잘 접속 됩니다.

 - testserver1.mydomain.do 를 입력하면 DSM 이 나옵니다. ㅠㅠ

    (192.168.*.*:##### 이게 안나와요 ㅠㅠ)

 

cloudflare의 DNS 설정은 아래와 같습니다.

 

image.png.jpg

 

도와주세요 .... ㅜㅜ

찾아보니까 reverse proxy를 위해서 다른 npm 이런것들을 많이 쓰시는거 같더라고요.

저는 DSM이 제공하는 기본 기능을 사용하는 것을 희망합니다!

 

신고공유스크랩
13
profile image 1등
빨간물약 2024.05.18. 07:21

image.png.jpg

이런 식으로 설정 해보세요 소스가 https면 443포트 입력하시면 되고

대상 호스트 이름은 헤놀에서 돌아가는 서비스라면 내부 아이피 주소가 아니라 

로컬 호스트로 잡으시면 되는데

내부 아이피나 나스 아이피가 어떤 식으로 설정 됐는지 모르니 자세한 내용은 알 수가 없습니다

 

위의 스샷은 네이티브 헤놀에서 돌아가는 서비스 역방향 프록시 설정 방법 입니다

나스의 아이피와 서비스의 아이피가 같고 포트만 다른 경우죠

xpnol 글쓴이 2024.05.18. 08:14
빨간물약
원하는 서비스 제공자는 시놀과 다른 아이피를 가진 컴퓨터에요.
서비스1 = 시놀 vm올린 컴퓨터
서비스2 = 위 컴퓨터와 같은 네트워크에 물려있는 다른 장비요.

서비스1과 2 모두 시놀에서 핑 잘 되는 거 까지 확인 했어요

스샷보면 소스 프로토콜은 http 로 하고 포트를 443으로 해보시라는 의미 인가요?
설정이 불가능하네요 ㅠㅜ

현제 룰은 http(80) & https(443) 로 두개 다 들어가 있어요 목적지 ? 는 http 192.168.*.*:#####
이렇게 똑같이 들어가 있어요.

서비스1.도메인.com 했을 때 시놀로지 로그인 페이지가 보이는 거 보면 dns는 잘 동작하는거 같은데, reverse proxy가 안도는 거 같아요 ㅠㅠ 이거 어디 로그가 있으면 디버깅 할법 한데, 로그도 없어보이고 ㅠㅠ

혹시 설마 vm에 헤놀로지 올리면... 못쓰는 그런 기능일까요 ??ㅠㅜ
profile image
빨간물약 2024.05.18. 15:54
xpnol

스샷의 소스 프로토콜은 https인데 http로 찍혀있네요
설정은 제대로 된 거 같은데 안되는 거 보면 vm 네트워크 문제일 수도 있겠네요
네이티브 헤놀에서는 같은 네트워크의 다른 장비도 잘 연결이 됩니다

우선은 다른 장비에 있는 서비스2 말고
vm헤놀에서 돌아가는 서비스에 역방향 프록시를 적용 해보시고 작동 되는지 확인 해보세요

 

공유기에서 80, 443 포트가 헤놀로 포트포워딩 됐는지도 확인을 해보시면 좋을 거 같습니다

xpnol 글쓴이 2024.05.19. 00:30
빨간물약
좋은 의견 감사해요!
Login Portal -> Applications -> Video Station에 포트(1234)를 할당.
<헤놀 IP>:1234 // 이게 Video Station의 로그인 창으로 잘 들어가지는 것을 확인한 후.
cloudflare DNS에 CNAME 을 abcd로 등록을 하고.
Login Portal -> Advanced -> Reverse Proxy에 abcd.domain.com 을 localhost:1234를 추가 한 후.
abcd.domain.com 을 들어가면.... video station 아니고 DSM 로그인 페이지가 나오네요 ㅠㅠㅠ
이쯤 됬음 DSM의 reverse proxy가 동작 하지 않는거 같은데,,, 이런 경우는 어떻게 디버깅을 해야 할까요... 막막하네요 ㅋㅋ쿠ㅜ ㅜㅜㅜ
profile image
빨간물약 2024.05.19. 08:46
xpnol

공유기에서 80 443포트 헤놀로 열어 주셨나요?

그리고 클플 dns에서 cname을 지정할 필요 없이

와일드 카드 인증서 등록 돼있으면 역방향 프록시에서 설정한 서브 주소로 접속 됩니다

와일드 카드 인증서 미지원 도메인이면 헤놀 인증서 발급 받을 때

서브 도메인 전부 수동 입력 해서 인증서 발급 받아야 합니다

 

참고로  ㅁㅁㅁ.도메인.com 에서 ㅁㅁㅁ 부분을 이야기 하는 겁니다

와일드 카드 인증서는 *.도메인.com의 형식으로 인증서를 발급 받기 때문에

ㅁㅁㅁ부분에 어떤 주소든 사용이 가능하죠

xpnol 글쓴이 2024.05.19. 10:46
빨간물약
공유기 포트 포워드는 80 443 두개가 열려있고 모두 헤놀로 향하고 있어요.

그래서 제 도메인으로 외부에서 헤놀로 잘 접속 됩니다.

클플에서cname을 등록 하지 않으면
DNS_PROBE_FINISHED_NXDOMAIN
이거 나와요. 도메인 서버가 뭔지 모르겠다고 하는거로 알고 있는데 ?? 그래서 cname 등록해줘야 이게 제 도메인에 alias로 인식하고 트레픽을 제 도메인으로 보내는 거 아닌가요??

저는 클플이 제공하는 프록시 서비스, 터널, 제zero trust 모두 사용 하지 않습니다. 정말 도메인만 클플에서 샀어요.

인증서는 lets encrypt에서 와일드카드로 받았어요 ! 그래서 https로 잘 사용 중입니다!
profile image
빨간물약 2024.05.19. 16:13
xpnol

우선 80 443은 DSM 접속과 상관 없는 포트 입니다

DSM접속은 5000 5001 포트만 열려 있어도 외부 접속 잘 되요

 

시놀에서 ddns랑 인증서 등록 하셨나요?

image.png.jpg

저 같은 경우 이렇게 돼있습니다

cname *과 www 말고는 클플 제로 트러스트 억세스나 터널 설정해서 등록 된 겁니다

image.png.jpg

역방향 프록시로 쓰던 주소들입니다

cname 등록 안해도 잘 됩니다

 

image.png.jpg

지금은 npm 설정해서 사용 중인데 53개의 주소를 등록 해서 사용하고 있습니다만 

cname에는 등록 한 게 없습니다

 

image.png.jpg

시놀 설정 - 외부억세스 - DDNS에 클플 등록 하고

image.png.jpg

설정 - 외부억세스 -고급 에서 호스트 이름은 dsm.도메인.com 

DSM접속 주소 설정 그리고 포트를 80 443 포트 지정 해줍니다

 

설정 - 보안 - 인증서 에서 인증서 등록 하고

 

image.png.jpg

설정 - 로그인 포털 - DSM - 도메인 에는 DSM 접속 도메인 주소dsm.도메인.com  입력하고요

(위의 DSM포트는 기본 5000 5001이고 변경하려면 변경해도 됩니다) 

 

이렇게 설정을 하게 되면

 

클플에 등록된 도메인.com이 내 컴의 외부 아이피와 DNS A레코드 로 연결이 돼있죠

 

그래서 도메인.com 을 입력 하면 외부아이피로 접급을 시도 합니다

 

그러면 우선 공유기에 도착을 하게 되죠 

 

공유기에서 포트 포워딩 설정에 따라 80 443 포트를 통해 시놀로지에 접근 합니다

 

시놀의 내부 네트워크 주소로 접급을 하는 거죠 

192.168.0.2:80 혹은 192.168.0.2:443 으로 접근 하는 거죠

 

주소 형식에 따라 로그인 포털에 설정 된 주소로 접속 되던지 역방향 프록시를 통해 접속을 하겠죠

dsm.도메인.com 혹은 dsm.도메인.com:포트 , dsm.도메인.com/서브, ㅁㅁㅁ.도메인.com 등등

 

dsm.도메인.com 이면 192.168.0.2:5000 으로 접근해서 DSM 접속 화면을 보여줄거고

 

dsm.도메인.com:포트는 192.168.0.2:포트 형식으로 설정된 서비스로 접속 하게 되고요

 

이런 식인데 원래는 공유기에서 80 443 포트를 사용하기 때문에

 

공유기에서 포트 포워딩을 통해 목적지 지정을 해줬지만 역방향 프록시의 장점은 공유기에 80 443 포트만

포트 포워딩 해주고 다른 포트들은 시놀에서 관리해줄 수 있다는 게 장점 입니다

 

목적지 지정을 시놀로지가 해주는 거죠

 

시놀로지에 와일드 카드 인증서가 등록 돼있기 때문에 ㅁㅁㅁ.도메인.com 에서

ㅁㅁㅁ의 위치가 어디인지 확인 하고 그곳으로 접근 하게 해줍니다

 

클플에서 cname을 설정할 필요는 없는 거죠

 

만약 역방향 프록시를 안쓴다면 공유기에 서비스별로 포트 포워딩을 다 해줘야 합니다

 

주소는 dsm.도메인.com 하나만 사용하고 'dsm.도메인.com:포트' 형식으로 포트에 따라 목적지를 확인하는 거죠

이 방식은 iptime 공유기 같은 경우 제공하는 'ㅁㅁㅁ.iptime.org:포트' 로 접속해도 같은 결과가 나오게 되죠

 

여하튼 시놀에서 설정이 전부 완료 됐다면 클플에서 cname 설정을 따로 할 필요는 없습니다

 

최대한 풀어 쓰느라 글이 길어졌는데 대충 이런 원리입니다

 

공유기에서 포트 포워딩으로 목적지 지정 하듯이 시놀에서 역방향 프록시로 그 역할을 대신 하는 겁니다

xpnol 글쓴이 2024.05.19. 21:23
빨간물약

친절하신 설명 너무 감사드립니다.

한자 한자 열심히 읽어보았어요!!

 

다만, 제 문제가 해결되지 않고 있고, 제 지식이 짧아 빨간물약님의 의견을 전부 이해하지 못했습니다 ㅠㅠ

 

image.png.jpg

클플(name server) cname에 사용하고자 하는 subdomain을 등록해 두어야 하는 거 아닌가요?

빨간물약님께서는 * 을 CNAME으로 등록하셨기 때문에 아무 subdomain을 사용하셔도 무방하신것 아닌가요?

저는 *을 등록하지 않고 아래 그림과 같이 필요한? 것들만 등록되어 있습니다.

저 또한 *을 CNAME에 등록하면, 어떤 subdomain을 사용하든 저희 공유기로 요청이 전달되어 DSM log in page가 보입니다.

image.png.jpg

 

시놀에서 ddns랑 인증서 등록 하셨나요?

 => 인증서만 등록하였습니다. DDNS는 어떤 이유로 등록을 하나요?

image.png.jpg

 

아래와 같이 DDNS는 비어 있습니다.

image.png.jpg

제가 설정한 DSM 접속 구조는 아래와 같습니다.

  1. client access request(크롬에서 domain.com 입력후 엔터)
  2. 위 요청은 클플 DNS에 도착하며, A 설정한 저희집 공유기 IP를 client에 전달합니다.
  3. client는 저희집 공유기에 들어옵니다.
  4. 공유기는 80 or 443 port forward 설정된 private ip(DSM,192.168.#.###) 으로 요청을 전달합니다.
  5. 제 헤놀(DSM)은 해당 요청에 login page를 client에 전달 합니다.

위와 같이 설정한 관계로 DDNS를 따로 해야하는 이유가 있나요?

 

제가 알고 있는? 제가 생각한 DSM의 reverse proxy 사용하는 구조는 아래와 같습니다.

  1. subdomain.domain 으로 url 입력
  2. 클플에서는 위 subdomain.domain요청은 저희집 공유기 로 전달하고
  3. 공유기는 port forward rule에 따라 80 & 443 요청은 모두 DSM으로 전달되고
  4. DSM에 도착한 subdomain.domain은 reverse proxy 동작에 맞추어
  5. <privateIP>:##### 로 들어온 요청을 전달함.

이렇게 되어야 할거 같은데... 지금 저에게 보이는 상황은 4번이 제대로 동작하지 않는거 같아요 ㅠㅠㅠ

DSM에 subdomain.domain으로 url이 오면, reverse proxy가 전달해야하는데, 제 헤놀은 이걸 그냥 DSM login page를 보여주는거 같아요 ㅠㅠ

크롬 주소창에는 subdomain.domain/#/signin 이렇게 바뀌고 DSM 로긴 페이지가 아주 잘 보입니다 ㅠㅠㅠ

 

어제  언급주셨던 reverse proxy를 외부 컴퓨터로 하는게 아니라 DSM 내부 시스템으로 해보는 것은 어떠냐

하셔서 localhost & port 로 시도해 봤습니다.

video station을 사용중이어서... 시도해 봤는데,,, 안되더라고요 ㅠㅠㅠ

<헤놀 IP>:789798 을 주소창에 입력하면 video station 이 잘 보입니다.

reverse proxy rule에 위 내용 반영해서 subdomainForVideoStation.domain -> localhost 789789 로 해봤지만...

같은 결과가 ㅠㅜㅠㅜ

 

<헤놀 IP>:789798 이거 되도록 하는 설정은 아래 그림과 같이 login  portal 에서 했어요 !

image.png.jpg

 

profile image
빨간물약 2024.05.19. 22:48
xpnol

우선 DDNS 부분은 위처럼 설정 하셨으면 크게 상관은 없습니다만

시놀에서 DDNS를 설정하는 이유는 통신사에서 할당하는 외부 네트워크가 바뀌는 유동IP인 경우

등록된 DDNS를 통해 클플 A레코드 외부IP가 자동 갱신 되기 때문에 등록을 하는 편입니다

 

시놀에서 DDNS설정을 안한다면 통신사에서 할당 받은 IP가 바뀐 경우 클플 홈페이지에서 직접 수정해줘야 합니다

 

그리고 우선 확인 해야할 부분이

시놀 인증서에 테스트 중인 서비스의 서브도메인 주소가 등록이 됐나요?

 

우선 시놀에서 서브 도메인을 내부 네트워크로 매핑했다고 해서 클플에서는 구분 할 수가 없습니다

공유기를 거쳐 시놀에 도착 한 후 내부 네트워크 설정에 따라 접근 가능해지는 거죠

 

요약 하자면 서브도메인 접속 요청을 하면 공유기를 거쳐 시놀로지에 도착 후

시놀에서 역방향 프록시나 로그인 포털 설정 웹스테이션 설정 등을 확인 후

입력했던 서브도메인과 일치하는 내부 네트워크 주소로 보냅니다

 

인증서에 역방향 프록시에서 설정한 서브 도메인 갱신이 잘 된다면 와일드카드 인증서 등록은 잘 된 상태입니다

그리고 그렇게 추가 된 서브 도메인이 클플에 cname 등록이 돼있다면 문제는 없을 거 같습니다

 

그런데 계속 DSM로그인 창이 뜬다는 건 5000혹은 5001 포트만 전달이 되고 있는 거 같습니다

 

만약 80 443 포트로 전달이 되는데 제대로 연결이 안된다면

없는 주소라고 표시 되거나 404 오류가 표시 되거나 다른 오류가 표시 됩니다

 

DDNS를 제외하고 다른 부분에 도메인 입력은 어떤식으로 하셨는지 모르고

대부분의 정보가 지워져 있는 상태라 어느 부분에 문제가 있을 수 있겠지만

제가 확인 할 방법이 없네요

 

추천하는 방법은 가이드에 나온 절차대로 설정을 하시는 방법 밖에 없겠습니다

시놀에 DDNS 설정 하시고 인증서 발급 받으시고 이런저런 채워야 하는 부분 다 채우시고

클플에서도 * cname 설정 하시고 등등 일반 적인 방법으로 설정을 하시는 게 좋을 거 같습니다

xpnol 글쓴이 2024.05.20. 21:25
빨간물약
빨간물약님의 도움으로 문제를 풀었습니다 ㅠㅠㅠ

"그런데 계속 DSM로그인 창이 뜬다는 건 5000혹은 5001 포트만 전달이 되고 있는 거 같습니다"

이 워딩을 보고 공유기의 port forward 설정을 확인하였습니다. 아래와 같이 되어 있더군요...
80 -> <DSM_IP>:5000
443 -> <DSM_IP>:5001

아차 싶었습니다 ㅠㅠ
역시 제가 설정한 reverse proxy setting은 아래와 같았습니다 ㅠㅠ
80 -> internal server
443 -> internal server

이 설정을
5000 -> internal server
와 같이 포트를 맞춰주니 이제서야... 정상 동작을 하네요 ㅠㅠ
하.................................................................................
참................................................
당연히 되야 하는게 안되는것은 역시 당연한 설정이 잘못되었기 때문이었다는 사실을
오늘도 재확인하는 아주 좋은 기회였네요 .....ㅠㅠㅠ

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 63 달소 23.05.29.01:57 50115 +25
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 74 달소 23.05.23.23:58 51202 +23
질문 [TCRP Mshell]LUN-iSCSI 매핑이 안됩니다. 1 Legionarii 12시간 전12:01 56 +1
업데이트 mshell-TCRP 원격지 헤놀로지 부트로더 업데이트 기능 배포완료 및 사용방법. 3 화정큐삼 23시간 전00:20 116 +3
후기 Mshell DS920+ → SA6400 업데이트 성공했네요 4 압도적뉴비 1일 전15:43 141 +1
2849 질문
image
Legionarii 12시간 전12:01 56 +1
2848 질문
image
서브어린이 1일 전17:11 65 0
2847 질문
normal
kmw_ 1일 전16:13 116 0
2846 질문
image
somi 2일 전08:16 310 0
2845 질문
image
Yukari 3일 전13:26 426 0
2844 질문
normal
우주하마 3일 전12:53 181 0
2843 질문
normal
껄돌이 4일 전19:05 185 0
2842 질문
image
서브어린이 5일 전23:32 142 0
2841 질문
image
드림카카오 5일 전21:52 126 0
2840 질문
image
케이엠 5일 전20:41 233 0
2839 질문
image
띠로리라도 5일 전14:36 127 0
2838 질문
normal
Dicecream 5일 전13:20 73 0
2837 질문
normal
케이엠 5일 전11:10 195 0
2836 질문
normal
달소 5일 전09:47 157 0
2835 질문
normal
서브어린이 24.05.26.23:25 244 0
2834 질문
normal
giogo 24.05.26.12:36 103 0
2833 질문
image
KIP 24.05.24.23:09 172 0
2832 질문
normal
누가웃음소리를내었는가 24.05.24.19:52 108 0
2831 질문
normal
서브어린이 24.05.23.12:40 155 0
2830 질문
image
거짓말 24.05.23.12:18 224 0